除了Infragistics ultracombo中的valuemember列之外,从其他列获取值

时间:2008-12-17 17:33:31

标签: vb.net visual-studio combobox infragistics ultracombo

我对使用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'”来帮助澄清我的代码在做什么,实际上并不在代码的这一部分。

请帮忙

2 个答案:

答案 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