C# 如何从数据表中读取列并在C中显示为复选框格式
我正在开发一个C窗口应用程序。我正在尝试读取excel文件并将列名显示为复选框实体。我使用了以下代码,但无法在DataGridView中显示任何内容C# 如何从数据表中读取列并在C中显示为复选框格式,c#,datagridview,C#,Datagridview,我正在开发一个C窗口应用程序。我正在尝试读取excel文件并将列名显示为复选框实体。我使用了以下代码,但无法在DataGridView中显示任何内容 using (OleDbCommand cmd = new OleDbCommand()) { using (OleDbDataAdapter oda = new OleDbDataAdapter()) { DataTable dt = new DataTable(); cmd.CommandText = "SELECT * From ["
using (OleDbCommand cmd = new OleDbCommand())
{
using (OleDbDataAdapter oda = new OleDbDataAdapter())
{
DataTable dt = new DataTable();
cmd.CommandText = "SELECT * From [" + sheetName + "]";
cmd.Connection = con;
con.Open();
oda.SelectCommand = cmd;
oda.Fill(dt);
con.Close();
for (int i = 0; i < dt.Columns.Count;i++)
{
DataColumn dc = dt.Columns[i];
CheckBox Ckb = new CheckBox();
Ckb.Name = dc.ToString();
dataGridView1.DataSource = dt.Columns[i].ToString();
}
}
}
我希望输出结果如下所示:
谢谢为什么要在For循环中填充数据网格 在For循环之前,您可以尝试以下操作:
DataSet ds = new DataSet();
Oda.Fill(ds, "Table");
dataGridView1.DataSource = ds.Tables["Table"];
有一个链接解释了如何向复选框列添加文本:…我想使用for循环填充DataGrid,因为列的数量不是固定的,它取决于用户导入的文件,文件可能有5列、6列或8列,列的数量不时不同。我编辑了答案。合谋的数量无关紧要。数据集将按原样存储表。SELECT*语句将获取所有表的内容。共谋和行。它正在引发错误“System.Data.OleDb.OleDbDataAdapter”不包含“Tables”的定义,并且找不到接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“Tables”;它必须是ds.Tables[Table];我会修改我的答案。