2012-09-28 61 views
1

我允許我的用戶添加/編輯/刪除綁定到DataTable的DataGridView中的數據。這一切都很好。數據被更新回數據庫。但是,我在DataTable中有一些不想在DataGridView中可見的字段,例如CreatedOn和CreatedBy。我需要根據行的狀態將值寫入這些列,然後才能更新到數據適配器。 在這種情況下,我應該爲數據表中的TableNewRow和RowChanged綁定一些事件處理程序,並在數據適配器更新併發生AcceptChanges之前處理這些行列?DataTable事件和行狀態

感謝您的任何想法。

瑞安

回答

1

這是我想通了,它的偉大工程。將數據表傳遞迴數據訪問類後,循環表中的行並檢查DataRowState。我根據DataRowState設置列值。

foreach (DataRow row in dt.Rows) 
      { 
      if (row.RowState == DataRowState.Added) 
       { 
       row["CreatedOn"] = DateTime.Now; 
       row["CreatedBy"] = GlobalProp.UserName; 
       row["ModifiedOn"] = DateTime.Now; 
       row["ModifiedBy"] = GlobalProp.UserName; 
       } 
      else if (row.RowState == DataRowState.Modified) 
       { 
       row["ModifiedOn"] = DateTime.Now; 
       row["ModifiedBy"] = GlobalProp.UserName; 
       } 
      } 

希望能幫助別人!

R