如何动态操作字段属性?

时间:2015-05-13 10:56:14

标签: c# winforms linq telerik

我有一些表字段属性为Active。这些表使用相同的RadGridView。例如表格MyLinqTable。

如何动态更新字段值Active的内容?

private void CheckItemChanged()
{
   ...
       bool value = (GridView.CurrentRow.DataBoundItem as MyLinqTable).Active;
       (GridView.CurrentRow.DataBoundItem as MyLinqTable).Active = !value;
       Db.SubmitChanges();
   ...
}

1 个答案:

答案 0 :(得分:1)

这是我的解决方案。您必须检查DataBoundItem是否具有名为“Active”的属性。然后你可以改变Active的值。

   private void CheckItemChanged()
   {
       if (
            GridView.CurrentRow != null && 
            GridView.CurrentRow.DataBoundItem != null &&
            GridView.CurrentRow.DataBoundItem.GetType().GetProperty("Active") != null)
       {
           dynamic dataItem = GridView.CurrentRow.DataBoundItem;
           bool value = dataItem.Active;
           dataItem.Active = !value;

           Db.SubmitChanges();

           RefreshItems();
       }
    }