データソース(SQL Server)としてビューを持つDataGridViewがあります。私が何をしていても、そのビューを読み書きすることができないので、私はそれを回避しようとしています。ある列を編集可能にする必要があるので、ArrayListを作成してデータソースとして設定できると考えました。 ArrayListには35行と4列のデータが含まれていますが、DGVにはデータがありません。ここに私のコードです:ArrayListをDataGridViewのソースとして表示しない
// get the data from the Table adapter, put it into an ArrayList then display it in the DataGridView -- called from Load()
private void FillReportDistributionTX()
{
DataTable dt = this.dLV_ReportDistributionTableAdapter.GetData();
DGVlist = ConvertDTtoArray(ref dt);
dLV_UserReportsDataGridView.DataSource = DGVlist;
dLV_UserReportsDataGridView.Refresh();
}
// convert to Array
public ArrayList ConvertDTtoArray(ref DataTable dt)
{
ArrayList converted = new ArrayList(dt.Rows.Count);
foreach (DataRow row in dt.Rows)
{
converted.Add(row);
}
return converted;
}
私は完全に困惑しています。どんな助けやアドバイスも大歓迎です。
ところで、 'ArrayList'はレガシータイプであり、すべてが同じ型の要素のリストを使いたい場合は' List 'を使うことができます。しかし 'List 'はここでは役に立たず、配列リストのように機能します。理由のために答えの第二部を読んでください。 –