略過巡覽連結。
略過巡覽連結      
  如何在GridView中實現,當條件為=A欄位的值,取B欄位的值加總? 觀看回應
此例為,如果Type="001"則加總QTY.請依照自己情況作相應修改.建議用InfoBindingsource處理比較好.可在Navigator的BeforeItemClick事件中進行。
int i = ibsDetail.List.Count;
int qty = 0;
string sType = "";
for (int j = 0; j < i; j++)
{
sType = ((DataRowView)ibsDetail.List[j])["TYPE"].ToString();
if (sType == "001")
qty = qty + Convert.ToInt16(((DataRowView)ibsDetail.List[j])["QTY"]);
}





  infoDataGridView 的TotalChanged如果有多個Total 要處理,如何知道是第幾個的值? 觀看回應
TotalChanged的事件中,DataGridViewTotalChangedEventArgs e,利用e.ColumnName可以作為你判斷當前total的是哪個欄位,可以加以處理。




  如何設計將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為匯總的類型
}





  如何在infodatagridview中,將有運算式欄位來排序? 觀看回應
參考方法如:
先將該運算式欄位的SortMode設為Programmatic,在InfoDataGridView的CellClick事件中設計,假設運算式欄位為EMPTextBoxColumn:
private void infoDataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1 && e.ColumnIndex == this.infoDataGridView1.Columns.IndexOf(EMPTextBoxColumn))
{
if (infoDataGridView1.SortedColumn == EMPTextBoxColumn && infoDataGridView1.SortOrder == SortOrder.Ascending)
{
this.ibsMaster.Sort = "EMP desc"; // ibsMaster為對應的InfoBindingSource
}
else
{
this.ibsMaster.Sort = "EMP asc";
}
}
}





  GridView產生的Total欄位怎麼讓它靠右對齊呢? 觀看回應
在Columns中設定該欄位的ItemStyle.HorizontalAlign設定微Right。