将文本框添加到DataTable中

时间:2013-10-26 12:22:45

标签: c# datagridview

我有DataGridView,我在添加到DataGridview之前通过DataTable添加项目:

private void UpdateDataGdirView(List<Vendor> list)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Column1", System.Type.GetType("System.Boolean"));
    dt.Columns.Add("Column2", typeof(string));
    dt.Columns.Add("Column3", System.Type.GetType("System.Boolean"));
    dt.Columns.Add("Column4", System.Type.GetType("System.Boolean"));
    dt.Columns.Add("Column5", System.Type.GetType("System.Boolean"));
    dt.Columns.Add("Column6", System.Type.GetType("System.Boolean"));
    DataRow dr;

    foreach (Vendor vendor in list)
    {
        dr = dt.NewRow();
        dr["Column1"] = vendor.IsVendorChecked;
        dr["Column2"] = vendor.Number;
        dr["Column3"] = vendor.Name;
        dr["Column4"] = vendor.Size;
        dr["Column5"] = vendor.Path;
        dr["Column6"] = vendor.Path2;
        dt.Rows.Add(dr);
    }

    dataGridView1.AllowUserToAddRows = false;
    dataGridView1.AllowUserToDeleteRows = false;
    dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
    this.Invoke((MethodInvoker)delegate { dataGridView1.DataSource = dt; });
}

我试过: dataTable.Columns.Add("test", System.Type.GetType("System.Windows.Forms.TextBox"));

并收到错误:'dataType'参数不能为空。

现在我想添加最后一栏TextBox 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

DataGridViewTextBoxColumn中显示的Vendor.Number,如果您绑定到该列的数据属于string类型,它将自动显示在DataGridViewTextBoxColumn中,即TextBox }。