|
如何設計將InfoDataGridView的Detail 某個欄位Total,回寫到Master的某個元件上? |
|
|
有兩種方法: 1. 使用GridView上的計算Total的功能ExpressionColumn,配合GridView的Total方式可以對該欄位元進行加總。同時為了配合Total方式的加總,GridView提供了TotalChanged事件,由此可以取得加總值。 if (e.ColumnName == "Amount" && (infoNavigator1.GetCurrentState() == "Inserting" || infoNavigator1.GetCurrentState() == "Editing")) { (ibsMaster.Current as DataRowView).Row.BeginEdit(); (ibsMaster.Current as DataRowView).Row["TotalAmt"] = Convert.ToDecimal(e.TotalValue); (ibsMaster.Current as DataRowView).Row.EndEdit(); //此方法的作用是為了當Master沒有修改的狀態下可以將這行Row的狀態變為Modifed }
2. 可以在InfoDataGridView的CellValueChanged中寫程式,同時加一下條件判斷: if (infonavigator.GetCurrentState() == "Inserting" || infonavigator.GetCurrentState() == "Editing" ) { if (e.ColumnIndex == yourIndex) textbox1.Text = infoDataGridVeiw.DoSum(colIndex, totalMode).ToString();//colIndex為列的索引,totalMode為匯總的類型 }
|
|
|