星空网 > 软件开发 > ASP.net

Silverlight 利用DataGrid行加载事件动态控制行列显示

datagrid的绑定很好用,但有时候我们往往需要根据model内容来动态控制行或者列,该怎么办呢?

这时候,我们就需要用到行加载事件:在加载每一行数据的时候,根据数据的内容来控制相应的表格显示。

比如我们想要每五行置行底色为红色,可以这样:

 SolidColorBrush r = new SolidColorBrush(Colors.Red); private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e)    {      CData c = e.Row.DataContext as CData;      if (c.id % 5 == 0)        e.Row.Background = r;      else        e.Row.Background = new SolidColorBrush(Colors.White);    }

如果,你想根据model的值,改变某一行某一自定义列的样式或内容,你也可以这样:

 private void dg_source2_LoadingRow(object sender, DataGridRowEventArgs e)    {      db_lsyjbInfo bindData = (db_lsyjbInfo)e.Row.DataContext;      TextBox btn = dg_source2.Columns[0].GetCellContent(e.Row).FindName("tb") as TextBox; //定位同比这一列      if (bindData.zbbm == "xjl")        btn.IsReadOnly = true;    }

随便说一下,行加载很好用,但具体控制表格的每一行或某行某列的某个子控件时,就需要我们做好定位工作,就需要平时积累控件定位的功夫啦!

比如:

DataGridCell aa = dg_source2.Columns[0].GetCellContent(e.Row) as DataGridCell; //定位到具体单元格(标准列)

先总结到这,学习并积累哈。

 




原标题:Silverlight 利用DataGrid行加载事件动态控制行列显示

关键词:DataGrid

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

胡锡进回击:https://www.goluckyvip.com/tag/14590.html
五一假期:https://www.goluckyvip.com/tag/14591.html
外贸的误区:https://www.goluckyvip.com/tag/14592.html
知道的人很少:https://www.goluckyvip.com/tag/14593.html
竞价推广:https://www.goluckyvip.com/tag/14594.html
商业机会:https://www.goluckyvip.com/tag/14596.html
深圳到西安自驾路线攻略 深圳到西安自驾最佳路线:https://www.vstour.cn/a/411228.html
松花蛋是哪里的特产松花蛋的产地:https://www.vstour.cn/a/411229.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流