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

datagrid的绑定好好用,但偶尔我们往往要依据model内容来动态控制行还是列,该怎么收拾为?

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);

        }
 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的价,改变有同履有同由定义列的样式或内容,你啊堪这么:

只要,你想根据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;
        }
 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;
        }

附带说一下,行加载很好用,但实际控制表的各一样执抑某行某列的某子控件时,就得我们做好稳定工作,就待平时积淀控件定位的功夫啦!

顺便说一下,行加载很好用,但现实控制表的诸一样实施要某行某列的有子控件时,就需要我们搞好稳定工作,就需平时积攒控件定位的功啦!

比如:

比如:

TextBlock aa = dg_source2.Columns[0].GetCellContent(e.Row) as TextBlock;  //定位到具体单元格(标准列),这里注意要将具体cell转换为TextBlock方便操作
TextBlock aa = dg_source2.Columns[0].GetCellContent(e.Row) as TextBlock;  //定位到具体单元格(标准列),这里注意要将具体cell转换为TextBlock方便操作

功能大红鹰葡京会图如下:

职能图如下:

大红鹰葡京会 1

大红鹰葡京会 2

先期总结暨立刻,学习并积累哈。

先行总结到当下,学习并积累哈。

 

 

admin

网站地图xml地图