当前位置:编程学习 > C#/ASP.NET >>

" DataGrid 未能从选定数据源自动生成任何列。 "

DataTable dt = SystemTools.ConvertDataReaderToDataTable(recs);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
总是报错“ID 为“DataGrid1”的 DataGrid 未能从选定数据源自动生成任何列。 ” --------------------编程问答-------------------- DataGrid1.DataSource=ds.Tables[0]; --------------------编程问答-------------------- AutoGenerateColumns = true;
--------------------编程问答-------------------- AutoGenerateColumns = true;默认就是的啊 --------------------编程问答-------------------- DataGrid1.DataSource=ds.Tables[0];
没有效果 --------------------编程问答-------------------- DataGrid1需要绑定吗? --------------------编程问答-------------------- 去掉DataGrid1.DataBind(); --------------------编程问答-------------------- 去掉DataGrid1.DataBind();
DataGrid1不是就显示不出来了吗 --------------------编程问答-------------------- 怎么没有人回答了 --------------------编程问答-------------------- DataGrid1.DataSource=ds;
DataGrid1.Tables[0].TableName;
试试 --------------------编程问答-------------------- DataGrid1.DataSource=ds;
dataGrid1.DataMember=ds.Tables[0].TableName; --------------------编程问答-------------------- try..

DataTable dt = SystemTools.ConvertDataReaderToDataTable(recs);
DataGrid1.DataSource=dt;
DataGrid1.DataBind();


如果不行,请把ConvertDataReaderToDataTable方法中的内容贴出来看下,应该是你这个方法的问题.. --------------------编程问答-------------------- 断点跟踪一下,看你的dt的结构和内容是否和想象中一样? --------------------编程问答-------------------- 我今天也遇到了这个问题,上网搜到了这个帖子,虽然是老帖了还是说下我的解决方法吧,不知道楼主的问题与这是否一样。
我的table里有个Guid类型的参数,我发现如果DataSet里只有一列Guid,绑定时就会出现楼主所说的问题,
我后来加了几列其他的内容显示就正常了。

PS:原因正在研究中,不知道还有没有别的类型会出这样的问题。
也希望有这方面经验的一起讨论下

msn:luobin4585@hotmail.com --------------------编程问答-------------------- 楼主的代码有问题
正解为:

DataTable   dt   =   SystemTools.ConvertDataReaderToDataTable(recs); 
DataSet   ds   =   new   DataSet(); 
ds.Tables.Add(dt); 
DataGrid1.DataSource=ds[dt];  //原来的您是 DataGrid1.DataSource=ds;需要给ds特意的指示为哪个表
DataGrid1.DataBind();  --------------------编程问答-------------------- 上面这个问题怎么没下文了啊?
楼主:我遇到跟你一样的问题了,你解决了吗? --------------------编程问答-------------------- DataTable   dt   =   SystemTools.ConvertDataReaderToDataTable(recs); 
DataSet   ds   =   new   DataSet(); 
ds.Tables.Add(dt); 
DataGrid1.DataSource=ds;   //看你这句话写的,ds是个表吗? 应该写成:ds.Table["这里你自己订,可写下标也可写表名"];
DataGrid1.DataBind(); 

这出错才怪!
DataGridView中无法绑定DataSet的; --------------------编程问答-------------------- to 16 楼
这位高人:麻烦你再指引一下,我按照上面说的改了,dbStaffList.DataSource = ds.Tables["dt"];
现在程序运行是没错了,但是DATAGRID没显示任何东西,我的存储过程是没问题的,因为在查询分析器中是
可以运行并且看到运行结果的。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,