问:
关于读取spread中单元格的值,我有下面几个问题想请教一下:
1.CheckBoxCellType,RadioButtonListCellType类型的单元格,如何取值?
我在初始化时做如下设置:
Dim radioButtonCell As New RadioButtonListCellType
With radioButtonCell
Dim LaItemValue() As String = {"aaa", "bbb"}
.Items = LaItemValue
.Values = LaItemValue
End With
.Cells(0, 0).CellType = radioButtonCell
取值时:result = FpSpread.ActiveSheetView.Cells(0, 0).Value 却取不到啊
2.ComboBoxCellType类型的单元格,初始化时和上面一样,也是设置Items ,和Values 属性,然后取值时用value属性取,问题是:画面上该类型的单元格初始化后默认选中第一条(非空),我不对其进行任何操作,只点一个button在后台用取该单元格的值时,取不到,需要再点击一次,才能取到,请问这是怎么回事?
附: 我取到值后需要显示在画面上的一个textBox中,这时画面却全部刷新了,textBox的值设上了,但是spread中其他格的值没了,请指教一下是不是要设置哪个属性保持原值?
我刚刚接触spread,望不吝赐教
1.CheckBoxCellType,RadioButtonListCellType类型的单元格,如何取值?
我在初始化时做如下设置:
Dim radioButtonCell As New RadioButtonListCellType
With radioButtonCell
Dim LaItemValue() As String = {"aaa", "bbb"}
.Items = LaItemValue
.Values = LaItemValue
End With
.Cells(0, 0).CellType = radioButtonCell
取值时:result = FpSpread.ActiveSheetView.Cells(0, 0).Value 却取不到啊
2.ComboBoxCellType类型的单元格,初始化时和上面一样,也是设置Items ,和Values 属性,然后取值时用value属性取,问题是:画面上该类型的单元格初始化后默认选中第一条(非空),我不对其进行任何操作,只点一个button在后台用取该单元格的值时,取不到,需要再点击一次,才能取到,请问这是怎么回事?
附: 我取到值后需要显示在画面上的一个textBox中,这时画面却全部刷新了,textBox的值设上了,但是spread中其他格的值没了,请指教一下是不是要设置哪个属性保持原值?
我刚刚接触spread,望不吝赐教
答:
1. 取不到值是因为时机不对。你在界面上操作之后,必须通知后台。然后再取值才能取到。
以我之前给你的demo为例。你可以在UpdateCommand触发后,从参数中获得cell的值。也可以在UpdateCommand结束后的其他时机,用FpSpread.ActiveSheetView.Cells(0, 0).Value 取值。得到的结果是一样的。
2. 我初始化后,combocell没有选中任何item。选择后,单击Button,可以正常取值。
以我之前给你的demo为例。你可以在UpdateCommand触发后,从参数中获得cell的值。也可以在UpdateCommand结束后的其他时机,用FpSpread.ActiveSheetView.Cells(0, 0).Value 取值。得到的结果是一样的。
2. 我初始化后,combocell没有选中任何item。选择后,单击Button,可以正常取值。
另外,有关取值的问题,你可以参考产品知识库:
下面的代码演示了如何从一个复选框单元格中取值。返回值为0,说明复选框没有被选中。返回值为1则表示复选框被选中。
[C#代码]
fpSpread1.SaveChanges();
textBox1.Text = FpSpread1.ActiveSheetView.Cells(0, 0).Value;
[VisualBasic代码]
FpSpread1.SaveChanges()
TextBox1.Text = FpSpread1.ActiveSheetView.Cells(0, 0).Value
[C#代码]
fpSpread1.SaveChanges();
textBox1.Text = FpSpread1.ActiveSheetView.Cells(0, 0).Value;
[VisualBasic代码]
FpSpread1.SaveChanges()
TextBox1.Text = FpSpread1.ActiveSheetView.Cells(0, 0).Value