将GridView绑定到动态数据表

编程入门 行业动态 更新时间:2024-10-10 17:23:10
本文介绍了将GridView绑定到动态数据表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个GridView,我将它绑定到正在被运行时填充的DataTable。列数和行数不固定。 DataTable填充后,我将GridView的绑定源设置为这个数据表:

Me.User_infoDTBindingSource.DataSource = User_infoDT

现在的问题是,网格视图根本不显示任何列或行。 我用过: pre $ Me $ User $ G $ View $

现在我得到了GridView中的所有列,但是我在DataTable中设置的列标题都丢失了。 GridView中的行ar仍然是空的。我也使用了 OptionView.EnableAppearanceEvenRow ,所以我可以看到在我的GridView中生成的行数(它应该是这样),但仍然看不到任何数据。

我使用相同的数据源(数据表)实现了与Windows DataGridView和TreeList相同的代码,并且它工作正常。但是在这里我找不到任何没有得到这些行的原因。

你知道这些行在哪里吗?当我将绑定源的数据源设置为数据表时,我调试了代码并检查了DataTable。那时GridView.DataRowCount和GridView.Columns.Count都是正确的。但仍然网格视图不显示行中的任何数据。

UPDATE:我现在已经移除绑定源并将GridView的数据源直接设置为DataTable它的工作完美!我很惊讶为什么当我在两者之间使用绑定源时行是不可见的。除此之外,这里现在所有的列都有正确的标题(我在DataTable中设置),当我使用绑定源时,这些标题正在丢失。

解决方案

我得到了答案。我添加了以下几行:

Me.UserListGridView.Columns.Clear() Me.UserListGridView.OptionsBehavior.AutoPopulateColumns = True Me.User_infoDTBindingSource.DataSource = _user_info.User_infoDT Me.User_infoDTBindingSource.RaiseListChangedEvents = True Me.User_infoDTBindingSource.ResetBindings(True)

设置数据源后,提高列表更改事件并重置绑定可解决问题。

I have a GridView and I am binding it to a DataTable which is being filled at run time. Number of columns and rows are not fixed. After the DataTable is filled I am setting the binding source of the GridView to this data table:

Me.User_infoDTBindingSource.DataSource = User_infoDT

Now the prblem is, gird view is not showing any columns or rows at all. I used :

Me.UserListGridView.PopulateColumns(User_infoDT)

Now I am getting all the columns in the GridView but the column captions which I setted in DataTable are all lost. The rows ar still empty in the GridView. I have also used OptionView.EnableAppearanceEvenRow so I can see that number of rows are generating in my GridView (as it is supposed to be) but still I can't see any data.

I have implemented the same code with Windows DataGridView and TreeList using the same data source (data table) and it is working perfectly. But here I can not find any reason of not getting the rows.

Any idea where are these rows? I debugged the code and checked the DataTable when I am setting the binding source's data source to data table. At that time GridView.DataRowCount and GridView.Columns.Count are correct. But still grid view is not showing any data in the rows.

UPDATE: I have now removed the binding source and setted the GridView's datasource directly to the DataTable and it is working perfectly!! I am amazed why the rows are invisble when I am using a binding source in between. Apart from this, here now all the columns have correct captions also (which I setted in DataTable) which are being lost when I am using binding source.

解决方案

Well I got the answer. I added following lines:

Me.UserListGridView.Columns.Clear() Me.UserListGridView.OptionsBehavior.AutoPopulateColumns = True Me.User_infoDTBindingSource.DataSource = _user_info.User_infoDT Me.User_infoDTBindingSource.RaiseListChangedEvents = True Me.User_infoDTBindingSource.ResetBindings(True)

After setting the datasource, raising the list changed events and resetting binding resolved the issue.

更多推荐

将GridView绑定到动态数据表

本文发布于:2023-08-03 12:40:46,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   数据表   动态   GridView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!