C# datatable赋值给datagridview,结果是几行空行
stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;"+"DataSource="+path+";"+"ExtendedPro...
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source=" + path + ";" +"Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'";
OleDbConnection excelConnection = new OleDbConnection(strConn);
excelConnection.Open();
DataSet ds = new DataSet();
OleDbCommand dbCommand = new OleDbCommand("SELECT * FROM [" + textBox11.Text + "$]", excelConnection);
OleDbDataAdapter da = new OleDbDataAdapter(dbCommand);
da.Fill(ds,"a");
dataGridView1.DataSource = ds.Tables[0];
调试查看了ds是有表a的,并且表单数据是正确的,但是将a表赋给 dataGridView1后, dataGridView1显示的只是对应行数的空行,请教高手们啊! 展开
OleDbConnection excelConnection = new OleDbConnection(strConn);
excelConnection.Open();
DataSet ds = new DataSet();
OleDbCommand dbCommand = new OleDbCommand("SELECT * FROM [" + textBox11.Text + "$]", excelConnection);
OleDbDataAdapter da = new OleDbDataAdapter(dbCommand);
da.Fill(ds,"a");
dataGridView1.DataSource = ds.Tables[0];
调试查看了ds是有表a的,并且表单数据是正确的,但是将a表赋给 dataGridView1后, dataGridView1显示的只是对应行数的空行,请教高手们啊! 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
2个回答
展开全部
上面的列名是不是写死了的?试试在设计器里设置
dataGridView1.AutoGenerateColumns = true;
追问
额,忘记了,之前设置成false了,谢谢你提醒,不过现在又有个事情纠结,默认dataGridView的每列编辑时绑定一个数据库表的对应列的数据源,而从EXCEL导入时由于每列的数据源定义不一样,导致EXCEL导入的列重新排列到默认dataGridView列的后面了,求大神指点一二啊,怎么让默认的dataGridView和EXCEL导入的数据显示在一起而不是重新插入列
追答
最可靠的就是遍历DataTable给每个单元格赋值。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询