首页 新闻 会员 周边

关于winform DataGridview 绑定BingdingList数据源的疑问

0
悬赏园豆:10 [已解决问题] 解决于 2018-05-30 17:14

DataGridview绑定BindingList数据源后,直接获取控件列数为0,但界面显示后列数不为零。且再次访问控件列数时也不为0.

RickerYan的主页 RickerYan | 初学一级 | 园豆:193
提问于:2018-05-30 16:00
< >
分享
最佳答案
0

不如贴代码

收获园豆:10
筱浬 | 小虾三级 |园豆:601 | 2018-05-30 16:00

dgv.Columns.Clear();
dgv.DataSource = uniqueValueRecordClassList;
int colCount = dgv.Columns.Count;

如上,绑定数据源后拿到的colCount为0,但实际界面如下

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:05

@Fish With Smile: 可以检查一下,dgv 是哪里的数据 .调试走一下. 如果是数据原 也不会单单只有一个数据 而会是一行数据

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:09

@筱浬: 尝试过多次,找不到原因,感觉是不是绑定BindingList数据源的话要界面重绘完成后才能完成数据绑定。

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:26

@Fish With Smile: 绑定还要写   databind() 方法吧  我太久没写winform 不过好像要写这个东西

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:28

@Fish With Smile: 不对 你每次刷新页面 要在page_load 里写加载的代码啊 

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:29

@Fish With Smile: 做个是否回传的判定了吗 ispostback

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:30

@筱浬: 数据绑定就是在load事件里触发的

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:34

@筱浬: datagridview没有databind相关的方法呢

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:35

@Fish With Smile: 绑定数据源后  有数据就会自动填充 没有数据就是如你上图啊, 你的COUNT=0  图中也没有问题啊

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:40

@筱浬: 塞了测试数据列数还是为0,已疯

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:40

@筱浬: count是列啊不是行

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:41

@Fish With Smile: 你把这个 DataGridView.Columns.Count 放在他绑定后 把位置放到最后面

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:48

@筱浬: 本来就在最后呢,我要在绑定后修改列标题文本。现在因为绑定后列数为0,也就无法修改了。这情况太不符合逻辑。

RickerYan | 园豆:193 (初学一级) | 2018-05-30 16:54

@Fish With Smile: 我自己弄一个试试  对这个太陌生了

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 16:57

@筱浬:单独测的可以的,我在调试找找原因吧。界面逻辑有点复杂,可能是拿grid传参的原因。还是谢谢你

RickerYan | 园豆:193 (初学一级) | 2018-05-30 17:02

@Fish With Smile: 具体原因出在哪不明白,你的这些代码上没有问题  我写在Form1() 方法里 运行后获取到的count 也改变了 headerTEXT

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 17:12

@筱浬: 恩呢,我单独测试的也是可以,但是在现有的项目里不行。可能页面太复杂,有地方没处理好。

RickerYan | 园豆:193 (初学一级) | 2018-05-30 17:14

@Fish With Smile: 你把设置去掉 先把复杂的去掉  留下最简的 然后一点一点加  这是最笨的办法

筱浬 | 园豆:601 (小虾三级) | 2018-05-30 17:16
其他回答(1)
0

试试从DefaultView的列数获取,看看有没有?

chengeng | 园豆:294 (菜鸟二级) | 2018-05-30 17:03

原生控件,没有DefaultView

支持(0) 反对(0) RickerYan | 园豆:193 (初学一级) | 2018-05-30 17:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册