关于DataGridView显示数据问题

问题描述

小弟从事asp.net开发,现一项目需采用winform,由于2.0对DataGridView控件改变比较大,遇到一显示问题,还请高手不吝赐教!代码片断如下:foreach(DataTabledtinsearch.ResultForShow.Tables){if(dt!=null&&dt.Rows.Count>0){TabPagesubtp=newTabPage(dt.TableName);DataGridViewdgv=newDataGridView();dgv.Name=dt.TableName;dgv.SelectionMode=DataGridViewSelectionMode.FullRowSelect;dgv.MultiSelect=false;dgv.DataSource=dt;subtp.Controls.Add(dgv);tc.TabPages.Add(subtp);dgv.Dock=DockStyle.Fill;dgv.CellMouseDoubleClick+=newDataGridViewCellMouseEventHandler(dgv_CellMouseDoubleClick);dgv.CellEndEdit+=newDataGridViewCellEventHandler(dgv_CellEndEdit);dgv.CellBeginEdit+=newDataGridViewCellCancelEventHandler(dgv_CellBeginEdit);dgv.RowHeaderMouseClick+=newDataGridViewCellMouseEventHandler(dgv_RowHeaderMouseClick);dgv.DataBindingComplete+=newDataGridViewBindingCompleteEventHandler(dgv_DataBindingComplete);}}search.ResultForShow.Tables包含4张数据表,希望手动添加4个TabPage,每个TabPage包含一个DataGridView来显示数据。程序运行后,4个TabPage生成成功,但是TabPage中无数据显示,检查过数据表,确实包含数据,检查过TabPage中确实包含已经命名的DataGridView控件,但是无数据显示。

解决方案

解决方案二:
帮顶,没看出代码有什么问题啊
解决方案三:
一定要记得数据更新后调用方法dgv.Bingding();
解决方案四:
我也看不出来什么问题所以才求教楼上的,2.0里面已经没有Bingding()方法了。。。继续期待
解决方案五:
帮顶
解决方案六:
。。。。有没有用答案来顶的兄弟啊
解决方案七:
ding
解决方案八:
帮顶!
解决方案九:
那你自己仔细看下数据的传送过程。讨厌用控件。。更本不知道它的原理找错很麻烦
解决方案十:
嗯我还在一步一步追踪主要应该还是我对2.0版本的DataGridView不是那么了解吧不清楚它数据绑定的机制还是谢谢楼上了
解决方案十一:
你先添加控件后再绑定试试,记得刷新控件.
解决方案十二:
TabControltc=newTabControl();this.Controls.Add(tc);for(inti=0;i<search.ResultForShow.Tables.Count;i++){tc.TabPages.Add(i.ToString());}for(inti=0;i<search.ResultForShow.Tables.Count;i++){DataGridViewdgv=newDataGridView();dgv.Name=search.ResultForShow.Tables[i].TableName;dgv.SelectionMode=DataGridViewSelectionMode.FullRowSelect;dgv.MultiSelect=false;dgv.DataSource=search.ResultForShow.Tables[i];tc.TabPages[i].Add(dgv);}

看这样行不
解决方案十三:
dgv.databind()
解决方案十四:
好复杂的代码啊
解决方案十五:
dgv.DataSource=dt;dgv.DataSource=dt.DefaultView;试试
解决方案:
帮顶
解决方案:
谢谢大家我先去试试大家的方法
解决方案:
呵呵还是不行,看来要去好好研究一下这控件的机制了
解决方案:
DataGridView控件TabPage中如果有数据,要让其显示,必须保证该控件中<Columns>与</Columns>之间有显示的字段。
解决方案:
试一下楼上的
解决方案:
代码测试是没有问题的,下面给出了form1上点击按钮显示form2的举例,其中使用了两个表。可能的问题还是表中无记录,因为dgv的各个事件没有引发。publicpartialclassForm2:Form{publicForm2(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){DataSetdataSet=newDataSet();DataTabledataTable1=newDataTable("Table1");dataTable1.Columns.Add("ID",typeof(string));dataTable1.Columns.Add("Name",typeof(string));dataTable1.Rows.Add(newstring[]{"D1","Natalia"});dataTable1.Rows.Add(newstring[]{"D2","Jonathan"});DataTabledataTable2=newDataTable("Table2");dataTable2.Columns.Add("ID",typeof(string));dataTable2.Columns.Add("Name",typeof(string));dataTable2.Rows.Add(newstring[]{"D3","Natalia2"});dataTable2.Rows.Add(newstring[]{"D3","Jonathan2"});dataSet.Tables.Add(dataTable1);dataSet.Tables.Add(dataTable2);foreach(DataTabledtindataSet.Tables){if(dt!=null&&dt.Rows.Count>0){TabPagesubtp=newTabPage(dt.TableName);DataGridViewdgv=newDataGridView();dgv.Name=dt.TableName;dgv.SelectionMode=DataGridViewSelectionMode.FullRowSelect;dgv.MultiSelect=false;dgv.DataSource=dt;subtp.Controls.Add(dgv);dgv.Dock=DockStyle.Fill;tabControl1.TabPages.Add(subtp);dgv.CellMouseDoubleClick+=newDataGridViewCellMouseEventHandler(dgv_CellMouseDoubleClick);dgv.CellEndEdit+=newDataGridViewCellEventHandler(dgv_CellEndEdit);dgv.CellBeginEdit+=newDataGridViewCellCancelEventHandler(dgv_CellBeginEdit);dgv.RowHeaderMouseClick+=newDataGridViewCellMouseEventHandler(dgv_RowHeaderMouseClick);dgv.DataBindingComplete+=newDataGridViewBindingCompleteEventHandler(dgv_DataBindingComplete);}}}privatevoiddgv_CellMouseDoubleClick(objectsender,DataGridViewCellMouseEventArgse){}privatevoiddgv_CellBeginEdit(objectsender,DataGridViewCellCancelEventArgse){}privatevoiddgv_CellEndEdit(objectsender,DataGridViewCellEventArgse){}privatevoiddgv_RowHeaderMouseClick(objectsender,DataGridViewCellMouseEventArgse){}privatevoiddgv_DataBindingComplete(objectsender,DataGridViewBindingCompleteEventArgse){}}

解决方案:
另,TabPage控件中的DataGridView是否显示了对应的字段(列)名?
解决方案:
帮顶

时间: 2024-08-29 13:00:17

关于DataGridView显示数据问题的相关文章

DataGridView显示数据的两种方法

1.简单介绍   DataGridView空间是我们常用的显示数据的控件,它有极高的可配置性和可扩展性. 2.显示数据   DataGridView显示数据一般我们常用的有两种方法,一种是直接设置DataSoure属性就可以绑定数据.此方法不需要写任何代码操作比较简单,但是它显示出来的是整张表的数据.如果整一表数据比较多,而且我们并不需要所有的数据的情况下,我们就应该考虑第二种方法了.通过写代码连接数据库并从数据库中读取数据,最后将返回的数据传给DataGridView.这种方法貌似比较复杂,但

datagridview显示数据慢

问题描述 从数据库取出数据后用datagridview.rows.add()添加空白行然后再给指定列一行行添加数据但在运行程序显示数据的时候右边滚动条慢慢变短等一条条数据加完了后才显示才157条记录等待时间就那么较长哪位大虾能指点一下该怎么办注:不用绑定数据源不用分页 解决方案 解决方案二:没有人可以回答吗?解决方案三:应该不会这么慢吧?解决方案四:datagridview不可以直接帮顶吗解决方案五:为什么不直接绑定,疑惑.

vb.net 如何调用存储过程,并绑定到DataGridView显示数据

问题描述 CREATEPROCEDURE[DBO].[Q_SysOperationTree]@EDintASSETNOCOUNTONSelectED,PED,NodeNameFromSysOperationTreeWhereEDLIKEISNULL(@ED,'%')GO如何把上面的存储过程,查询的数据绑定到DataGridView中显示,请教语句如何写. 解决方案 解决方案二:PrivateFunctionSqlProc2(ByValProcNameAsString,ByValParam1AsS

winform DataGridview显示

问题描述 想在datagirdview中实现上述效果:其中列可变,是从数据库中取得SELECT公司,部们fromTablewhere()其中还有些数据处理.现在想法是创建一个实体类ClassDisplay{//表头显示privatestringhead;publicstringHead{get{returnhead;}set{head=value;}}//列显示privateList<string>list;publicList<string>List{get{returnlist

如何在datagridview显示checkedlistbox选中项内容

问题描述 我在做个数据库的查询功能,但是有的数据表列实在太多,我就想实现一个通过checkesListBox来选择自己想要显示的相关列,在datagridView显示数据 解决方案 解决方案二:datagridview每个列是可以控制是否显示的.类似于:datagridview.columns("abc").visable=false你根据checklistbox变化动态设置应该可以实现这个功能解决方案三:for(inti=0;i<checkedlistbox1.Items.Co

c# winfrom datagridview 数据绑定后 倒序显示数据?

问题描述 c# winfrom datagridview 数据绑定后 倒序显示数据? c# winfrom datagridview 数据绑定后如何倒序? 解决方案 把绑定的数据源进行倒序. 也可以查一下MSDN.https://msdn.microsoft.com/zh-cn/library/95scxcdy(v=vs.110).aspx 总之好多好多办法,显示器倒过来?开个玩笑:) 解决方案二: datagridview中有按照列排序(升序或降序)的功能,每个列标题的都有一个倒三角号你没看到

dataset-求教,,,datagridview竟然不显示数据???求解,,,

问题描述 求教,,,datagridview竟然不显示数据???求解,,, string SQL_C = ""select Interior_idlocationlocation_Xlocation_Y from SlipSand_slope_1""; DataSet DS = new DataSet(); DS = DataOperate.DS(SQL_C); DataGridView DGV = new DataGridView(); DGV.DataSourc

excel数据-Winform选择excel文件在datagridview显示

问题描述 Winform选择excel文件在datagridview显示 Winform选择excel文件在datagridview显示,如果excel没打开就会报错 解决方案 C# 读取Excel中的数据 解决方案二: C# 获取Excel工作薄中Sheet页(工作表)名集合

datagridview-C#dataGridView控件显示数据自动消失。

问题描述 C#dataGridView控件显示数据自动消失. 我在一个窗口中添加了两个dataGridView控件.但是当我要显示另外一个时,有一个里的就不显示.点击刷新的时候,刷新按钮操作的数据显示,点击查看按钮,刷新里面的数据就消失.两个按钮用到一个数据库的不同视图.谢谢. 解决方案 已解决,是我的一个小疏忽. 解决方案二: C#:在DataGridView控件中显示数据