【发布时间】:2011-01-20 12:09:56
【问题描述】:
目前我有一个 DataGridView(绑定到一个 DataTable)和一些标签。如果DataGridView的事件SelectionChanged发生,标签应该填上选中行的信息->没问题。但是如果我对DataGridView进行排序并单击一行,标签中的信息是错误的。
事件:
Private Sub DGVMain_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DGVMain.SelectionChanged
If DGVMain.SelectedRows.Count > 0 AndAlso Not Me.DGVMain Is Nothing Then
Dim index As Integer = DGVMain.SelectedRows(0).Index
Dim row As ResultSet.ResultsRow = CType(DGVMain.DataSource, ResultSet.ResultsDataTable).Rows(index)
SetDetails(row)
End If
End Sub
设置标签的详细信息:
Private Sub SetDetails(ByVal row As ResultSet.ResultsRow)
Dim rounding As Integer = 0
If row.AssayDisplayResultFormat.Contains(":") Then
rounding = Integer.Parse(row.AssayDisplayResultFormat.Split(":")(1))
End If
LBResultValue.Text = Round(row.ResultResultValue * row.AssayDisplayResultFactor, rounding) & " " & row.AssayDisplayResultUnit
LBAssayNameValue.Text = row.AssayDisplayShortName & " (" & row.AssayOID & ")"
LBSampleIdValue.Text = row.ResourceName
LBCreationDateValue.Text = row.ResourceCreated
LBFlagsValue.Text = ""
LBRawValue.Text = Round(row.ResultRawValue, rounding) & " " & row.AssayDisplayResultUnit
End Sub
【问题讨论】:
标签: vb.net winforms binding datagridview datatable