说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

datagrid控件在绑定了一个数据源dataset后,当dataset中的内容改变后(数据结构发生变化)

编辑:说三道四文库 发布时间:2018-04-27 01:32
HTML文档下载 WORD文档下载 PDF文档下载
datagrid控件在绑定了一个数据源dataset后,当dataset中的内容改变后(数据结构发生变化),为什么不能自动改变datagrid中的列格式?datagrid中的列格式仍然沿用上一次绑定时的结构?
tablestyles当然要你自己重新修改了,不信,你自己看看vs.net自己生成的代码。只要结构变了,自己就需要重新指定一次了。
没办法,只有自己改:)
所以表结构开始一定要建好。
dataset我是见好了的,不过dataset中的数据结构需要动态改变,我现在需要的是当我的dataset变了后,如何改变datagrid中的结构,我试过从新绑订数剧了,可还是不好用。
手工修改你的TableStyles,然后重新绑定
出现错误说TableStyles是只读属性
首先将datagrid的datasource设置为null
然后将其TableStyels.clear
再添加TableStyle
重新帮定。
好像差不多了,能写详细些吗?
up
datagrid.dataSoure = dataset;
datagird.datameber = "表名"

DataGridTableStyle dgts = new DataGridTableStyle();
dgts.MappingName = "表名";


DataGridTextBoxColumn dgtb1 = new DataGridTextBoxColumn();
dgtb1.HeaderText = "显示名";
dgtb1.MappingName = "列名";
dgtb1.NullText = "";
dgts.GridColumnStyles.Add(dgtb1);

DataGridTextBoxColumn dgtb2 = new DataGridTextBoxColumn();
dgtb2.HeaderText = "显示名";
dgtb2.MappingName = "列名";
dgtb2.NullText = "";
dgts.GridColumnStyles.Add(dgtb2);

        //添加其他的要显示列

this.dataGrid1.TableStyles.Add(dgts);

多做几个TableStyles,当你绑定数据源发生变化时,它会自动去找匹配(就是列名匹配)的,否则只能沿用上一个。你试一下吧,就如兔子老兄这样。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘