【问题标题】:Display a deleted DataRow in a (Infragistics.Ultra-) grid在 (Infragistics.Ultra-) 网格中显示已删除的 DataRow
【发布时间】:2009-09-11 16:11:00
【问题描述】:

是否可以从具有 DataRowState.Deleted 的 DataTable 中显示 DataRow?

场景: 用户可以编辑在网格中呈现的某种查找信息。 现在他/她可以删除、修改或插入多个条目,最后存储他/她的所有 一键更改数据库(假设没有违反主键 或其他问题)。

现在我想根据它们的编辑状态为不同的行着色,但是 删除的行立即消失。

你有什么想法或其他方法来解决这个问题吗?

【问题讨论】:

    标签: c# wingrid


    【解决方案1】:

    编辑:我意识到您使用的Grid 不是DataGridView。对于任何想要对DataGridView 执行相同操作的人,他们可以执行以下操作:

    1. 创建一个DataView

      DataView myDataView = 
            new DataView(myDataTable, 
                         String.Empty,       // add a filter if you need one
                         "SortByColumn",
                         DataViewRowState.OriginalRows | DataViewRowState.Deleted); 
      
      myDataGridView.DataSource = myDataView;
      
    2. 处理UserAddedRowUserDeletedRowCellValueChanged 事件:

      private void myDataGridView_UserAddedRow
                  (object sender, DataGridViewRowEventArgs e)
      {
          e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#CCFF99");
      }
      
      private void myDataGridView_UserDeletedRow
                  (object sender, DataGridViewRowEventArgs e)
      {
          e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFCC99");
      }
      
      private void myDataGridView_CellValueChanged
                  (object sender, DataGridViewCellEventArgs e)
      {
         myDataGridView[e.ColumnIndex, e.RowIndex].DefaultCellStyle.BackColor 
                                                = ColorTranslator.FromHtml("#FFFF99");
      }
      

    【讨论】:

    • @Vivek:谢谢。 DataView 中不同 DataRowStates 的显示选项正是我想要的。
    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2013-04-29
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    相关资源
    最近更新 更多