我对使用infragistics控件(昨天开始)相当新。虽然它们(非常)令人印象深刻,但它们确实增加了另一层复杂性,我正在浑身荒凉。所以我问我觉得这是一个相当简单的问题:
我试图从组合框中显示的另一列中获取值。到目前为止,我的所有尝试都只抓取了标题列的值而不是选中的行列中的值。
具体来说,当我选择一行时,我想从我的ultracombobox中获取lastname列中的值并将其放在文本框中。 到目前为止,下面的代码重新编译了标题列(LastName),无论我选择哪一行,都没有其他内容。
Private Sub ucboPatientInfo_RowSelected(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.RowSelectedEventArgs) Handles ucboPatientInfo.RowSelected
ucboPatientInfo.ValueMember = "accounts"
LastName = ucboPatientInfo.SelectedRow.Band.Columns(1).ToString
我添加了:“ucboPatientInfo.ValueMember ='accounts'”来帮助澄清我的代码在做什么,实际上并不在代码的这一部分。
请帮忙
答案 0 :(得分:4)
看起来您找到了适合自己问题的解决方案。我想我会添加一些更多的信息和事情来考虑。
您可能希望避免对单元格进行硬索引引用,以防将来在向网格的数据源添加新数据时位置发生变化。假设您在lastName之前插入另一列,现在您的.Cells(5)将返回不正确的数据。
而是尝试使用Cells(“columnName”)进行访问,如下所示:
LastName = ucboPatientInfo.Cells("LastName").Value
您还应该尝试在事件中使用eventArgs和sender对象,并避免直接控制引用。所以你的代码看起来应该是这样的:
LastName = e.Row.Cells("LastName").Value.ToString()
很高兴看到你的工作在任何情况下。
答案 1 :(得分:0)
找到了正确的组合:
LastName = ucboPatientInfo.Cells(5).Value