C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: DataTableの項目にLIST型のデータを設定する方法


(過去ログ 177 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■101477 / inTopicNo.1)  DataTableの項目にLIST型のデータを設定する方法
  
□投稿者/ おおはし (1回)-(2023/03/01(Wed) 15:00:18)

分類:[.NET 全般] 

DataTableを使って処理を行っているプログラムに各レコードの内訳入力ができる機能を追加することになりました。

そこで、DataTableにLIST型のデータを設定したいと思っていますが、どうぢても方法がわかりません。

LIST型のデータのキャストを使って、できないでしょうか?

VB2008を使用しています。

よろしく、お願いします。
引用返信 編集キー/
■101478 / inTopicNo.2)  Re[1]: DataTableの項目にLIST型のデータを設定する方法
□投稿者/ 魔界の仮面弁士 (3579回)-(2023/03/01(Wed) 15:14:13)
No101477 (おおはし さん) に返信
> DataTableにLIST型のデータを設定したいと思っていますが、
> どうぢても方法がわかりません。
> VB2008を使用しています。

列を追加するときに、その列の型を明示してみてください。
デザイン時サポートが無いので、使いやすいかどうかは微妙ですが。

Dim dt As New DataTable("No101477")
dt.PrimaryKey = New DataColumn() {dt.Columns.Add("ID", GetType(Integer))}
dt.Columns.Add("Col1", GetType(String)).AllowDBNull = False
dt.Columns.Add("Col2", GetType(List(Of Byte))).DefaultValue = Nothing
dt.Columns.Add("Col3", GetType(Byte())).AllowDBNull = True

dt.Rows.Add(1, "行1", New List(Of Byte)(New Byte() {1, 2, 3, 4, 5}), New Byte() {71, 73, 70, 56, 57, 97, 1, 0, 1, 0, 128, 0, 0, 0, 0, 0, 255, 255, 255, 44, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 1, 4, 0, 59})
dt.Rows.Add(2, "行2", New List(Of Byte)(New Byte() {6, 7, 8, 9, 10}), DBNull.Value)

dt.AcceptChanges()


なお、List(Of ) 自身には変更通知機能が無いので、後から項目の増減があっても
その変化に気づけません。処理案件によっては、DataSet の Relations プロパティを使って、
List(Of ) なデータを別テーブルに保持し、元テーブルとリレーションを張った方が良いかも…。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -