XamDataGrid不响应DataValueChanged的事件

有时候当XamDataGrid数据表里面的某些数据变化时,根据数据变化来改变单元格的颜色或其他操作来做预警,用户提示 是很有效的

可以给XamDataGrid添加DataValueChanged事件.

例如:

<igDP:XamDataGrid Name="xamDataGrid" Margin="5" 
                                               GroupByAreaLocation="None"
                                              Theme="IGTheme"
                                              DataValueChanged="xamDataGrid_DataValueChanged"                                              
                                              >
                                <igDP:XamDataGrid.FieldSettings>
                                    <igDP:FieldSettings />
                                </igDP:XamDataGrid.FieldSettings>
                                <igDP:XamDataGrid.ViewSettings>
                                    <igDP:GridViewSettings />
                                </igDP:XamDataGrid.ViewSettings>
                                <igDP:XamDataGrid.FieldLayoutSettings>
                                    <igDP:FieldLayoutSettings AutoGenerateFields="True"  
                                              AllowDelete="False"/>                                    
                                </igDP:XamDataGrid.FieldLayoutSettings>
                                <igDP:XamDataGrid.FieldLayouts>
                                    <igDP:FieldLayout >
                                        <igDP:FieldLayout.Fields >
                                            <igDP:Field Name="StuName" Label="姓名" Width="Auto"  />
                                            <igDP:Field Name="Class" Label="班级" Width="Auto"  />
                                            <igDP:Field Name="Sex" Label="性别" Width="Auto"  />
                                            <igDP:Field Name="StuNum" Label="学号" Width="Auto"  />
                                            <igDP:Field Name="IsPresent" Label="出席" Width="Auto"   />
                                        </igDP:FieldLayout.Fields>
                                    </igDP:FieldLayout>
                                </igDP:XamDataGrid.FieldLayouts>
                            </igDP:XamDataGrid>

然后在事件函数中这样操作:

private void xamDataGrid_DataValueChanged(object sender, Infragistics.Windows.DataPresenter.Events.DataValueChangedEventArgs e)
        {
            if ("未出席" == e.CellValuePresenter.Value.ToString())
            {
                e.CellValuePresenter.Background = Brushes.White;
            }
            if ("请假" == e.CellValuePresenter.Value.ToString())
            {
                e.CellValuePresenter.Background = Brushes.Yellow;
            }
            if ("出席" == e.CellValuePresenter.Value.ToString())
            {
                e.CellValuePresenter.Background = Brushes.Green;
            }  
        }

但是有一点切记!!!!!!!

我在这个地方纠结了很久,必须对XamDataGrid做如下初始化:

xamDataGrid.FieldLayouts[0].Fields["IsPresent"].Settings.DataValueChangedNotificationsActive = true;

否则XamDataGrid将不响应DataValueChanged事件,这也是在infragistc的wpf Sample中看到的.

 

转载于:https://www.cnblogs.com/liuxia19872003/archive/2013/02/28/2937573.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值