1

で呼び出さFull Nameれた列を表示する必要がありますが、 には列DataGridViewがありDataSource (datatable)ませんFullName。と列のみがFirstNameありLastNameます。私はDataGridViewこのように設定しています:

Dim column As DataGridViewColumn = New DataGridViewTextBoxColumn()
column.DataPropertyName = "?" //Need FirstName + " " + LastName
column.Name = "FullName"
dgv.Columns.Add(column)

データテーブルのと列のDataPropertyName両方のデータを使用するように を設定するにはどうすればよいですか?FirstNameLastName

ありがとう。

4

2 に答える 2

4

別のアプローチを使用します。計算列をデータテーブルに追加します。

Dim dc as DataColumn = dt.Columns.Add("FullName", System.Type.GetType("System.String"))
dc.Expression = "FirstName + ' ' + LastName"

ここで、dt は DataGridView の DataSource として設定したデータテーブルです。

計算列で使用される式構文のルールは、MSDN のこのリンクにあります。
まったく同じルールが、別の非常に便利なメソッドにも適用されます: DataTable.Select(filterExpression)メソッド

于 2012-05-21T18:00:54.610 に答える
1

私はそれがどのように機能するとは思わないDataPropertyNamehttp://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumn.datapropertyname.aspx

代わりに、データベース側でこれを行ってください。select(ここではSQL Server構文)でaFirstName + " " + LastName as FullNameを実行すると、2つの列の代わりにFullName列が返されます。

SQL側にアクセスできない場合は、を操作して、コードでDataTable独自のFullName列を作成できます。いくつかのLINQおよび/またはループでうまくいくと思います。

于 2012-05-21T18:00:33.503 に答える