我遇到的问题如下:一个DataGridView绑定三次结果,第一次有数据显示正常,第二次没数据绑定Null,第三次有数据显示列标题为英文了,并且隐藏的列也显示了。
自己猜测原因是DataGridView绑定null时,相当于绑定了新的数据源,和第一次显示的就不一样,第三次绑定和第一次相同的数据源,所以数据源改变,显示结果又是默认的,列标题设置和隐藏的设置都无效了。
我的解决方式:创建一个名为dtEmpty的DataTable,值为Null,把它作为空的查询结果,在第一次查询出结果数据后,把查询出的DataTable的克隆赋值给dtEmpty。
在第二次查询无数据时,DataGridView绑定dtEmpty,数据源不变,就不会有以上问题。
当dtEmpty一直为Null就不给DataGridView绑定数据源,即保证数据源始终一致。