0

私はデータグリッドビューを持っていて、DataGridViewCheckBoxColumnを追加したいのですが、それ以外の場合はデータテーブルがあり、それをグリッドビューのデータソースとして設定したいのですが、グリッドビューをチェックボックスで表示できません

for (int i = 0; i < oldTable.Rows.Count; i++)
        {
            DataColumn newHeader = new DataColumn();
            newHeader.ColumnName = oldTable.Rows[i].ItemArray[3].ToString();             
            newHeader.DataType =typeof(DataGridViewCheckBoxColumn);
            //newHeader.DataType = new DataGridViewCheckBoxColumn();
            //string newHeader = oldTable.Rows[i].ItemArray[3].ToString();
            newTable.Columns.Add(newHeader);                
        }
        DataRow accessRow = newTable.NewRow();            
        for (int j = 0; j < oldTable.Rows.Count; j++)
        {
            Boolean access =Convert.ToBoolean(oldTable.Rows[j][2]);
            accessRow[j] = access;
            var sklj=  accessRow[j].GetType();
        }
        newTable.Rows.Add(accessRow);
        dataGridView1.DataSource = newTable;
4

3 に答える 3

0

コードを次のように変更します。

for (int i = 0; i < oldTable.Rows.Count; i++)
        {
            DataColumn newHeader = new DataColumn();
            newHeader.ColumnName = oldTable.Rows[i].ItemArray[3].ToString();             
            newHeader.DataType =typeof(System.Boolean); //Change This Line Like This
           newTable.Columns.Add(newHeader);                
        }

typeof(DataGridViewCheckBoxColumn())コードを次のように変更しますtypeof(System.Boolean)

于 2013-11-19T12:07:20.923 に答える
0

これはそれよりも簡単だと思います:

編集:私は間違っていました:これでうまくいくはずです:

DataGridViewCheckBoxColumn dgchk = new DataGridViewCheckBoxColumn();
dataGridView1.Columns.Add(dgchk);

これは、DataSource を設定した後に行う必要があります。

于 2013-11-19T11:45:08.840 に答える