1
我想在DataGridView
的1列中合併並顯示2個數據字段。這在vb.net中可能如何?如何合併2個數據屬性並將它們顯示在DataGridView的單個列中?
的DataGridView
有一個數據源。
我想在DataGridView
的1列中合併並顯示2個數據字段。這在vb.net中可能如何?如何合併2個數據屬性並將它們顯示在DataGridView的單個列中?
的DataGridView
有一個數據源。
您可以使用這些選項:
的CellFormatting事件創建只讀屬性爲DataTable創建計算列
如果數據字段屬於DataTable
您可以將計算DataColumn
添加到您的DataTable
並設置其屬性Expression
返回基於這兩列所需的值。
table.Columns.Add("DisplayName", GetType(String), "FirstName + ' ' + LastName")
創建只讀屬性類
如果數據字段屬於一個普通的模型類,你可以添加一個只讀屬性,它在吸氣,返回基於這些2級性能所需的值。
Public Class Person
Public Property FirstName As String
Public Property LastName As String
Public ReadOnly Property DisplayName As String
Get
Return String.Format("{0} {1}", FirstName, LastName)
End Get
End Property
End Class
使用的DataGridView
的CellFormatting事件對於所有情況下的通用解決方案,您可以使用DataGridView
CellFormatting
事件,並根據這兩個字段設置e.Value
到所需的值。
Private Sub DataGridView1_CellFormatting(sender As Object, _
e As DataGridViewCellFormattingEventArgs Handles DataGridView1.CellFormatting
' For example you want to do it for 3rd column
If e.ColumnIndex = 2 AndAlso e.RowIndex >= 0 Then
Dim row = Me.DataGridView1.Rows(e.RowIndex)
'If DataSource is a DataTable, DataBoundItem is DataRowView
Dim data = DirectCast(row.DataBoundItem, Person)
e.Value = String.Format("{0} {1}", data.FirstName, data.LastName)
End If
End Sub
看來後回答你的問題,如果你接受的答案還是讓我知道,如果您有任何關於回答任何問題,這將是巨大的:) –