datagridview 绑定总出错?可能是你没注意这几点!

吉云

今儿个跟大家伙儿唠唠这个叫 DataGridView 的玩意儿怎么绑定数据。说起来,这事儿还真有点儿绕,折腾我好一阵子。

我寻思着这绑定数据还不容易嘛不就是点点鼠标,选选数据源的事儿?结果,还真没那么简单!我在可视化界面里头试半天,把数据源啥的都选好,可运行起来一看,啥也没有!这给我整的,一头雾水。我心想这咋回事?难道是哪里点错?

后来我在网上搜搜,发现好多人跟我一样,都碰到这个问题。有的人说是这 DataGridView 只能绑定一次数据,要是之前已经绑定过,再在代码里绑定就没用。还有的人说,可能是多线程的问题,要是数据量大,或者这控件画起来太复杂,就会卡住,数据就绑不上去。看得我眼花缭乱,各种说法都有,也搞不清楚到底咋回事。

datagridview 绑定总出错?可能是你没注意这几点!

没办法,我只能硬着头皮试。我先把之前在可视化界面里绑定的数据源给清空,啥也不选。然后,我开始在代码里头折腾。

  • 第一步,我得把数据源准备我一开始用的是 List<T>,就是那种列表,里面可以放各种类型的数据。
  • 第二步,就是把这个列表跟 DataGridView 绑到一起。这里我就用到 DataSource 这个属性,把它设置成我的列表就行。
  • 第三步,我还得设置一下每列数据怎么显示。这里我就用到 DataPropertyName 这个属性,把它设置成列表里对应的字段名。

datagridview 绑定总出错?可能是你没注意这几点!

改完代码,我满怀期待地运行一下,还真成!数据终于显示出来!我这心里头的一块大石头总算是落地。不过我发现还有个小问题。我在界面上改数据,发现数据源里的数据也跟着变。这倒也方便,省得我再手动更新数据源。但是有些数据我不想让人随便改,比如性别这种,输错可就麻烦。

于是我又开始琢磨怎么把某些列设置成只读的,不让用户修改。这个也挺简单的,只要把那列的 ReadOnly 属性设置成 true 就行。这样一来,用户就只能看,不能改,数据也安全多。

总结

这一通折腾下来,我对这个 DataGridView 绑定数据也算是有点儿心得。也不是特别难,就是得注意一些细节,比如之前绑定过数据的话要先清空,还有就是数据量大的时候可能会有性能问题,得想办法优化一下。实践出真知,多试试总能找到解决办法的!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]