2013-04-04 98 views
3

我已經閱讀從MSDN的定義(見下文),這對我沒有幫助。我動態添加gridviewrows到我的gridview,不知道什麼是參數。GridViewRow構造函數參數,它們究竟是什麼?

public GridViewRow(
    int rowIndex, 
    int dataItemIndex, 
    DataControlRowType rowType, 
    DataControlRowState rowState 
) 

的rowIndex類型:System.Int32的在GridView控制的 Rows集合的GridViewRow對象的索引。

dataItemIndex類型:System.Int32基礎DataSet中的 中的DataItem的索引。

ROWTYPE類型:System.Web.UI.WebControls.DataControlRowType其中 DataControlRowType枚舉值。

RowState的類型:System.Web.UI.WebControls.DataControlRowState的DataControlRowState枚舉值的按位 組合。

+0

的rowIndex會給你當前插入行中的GridView – user1102001 2013-04-04 13:10:57

+0

@ user1102001並補充說,作爲一個參數,如何影響新創建gridviewrow? – HOY 2013-04-04 13:18:30

+0

有很多方法可以將行添加到gridview,但rowindex不需要這樣做 – user1102001 2013-04-04 13:24:17

回答

1

這些參數(這構造一般)確實很少需要使用。他們是創建一個GridView,它的行,完全手動 - 這是很不必要的,考慮到內置的這種控制功能強大的數據綁定功能。讓我解釋。

一般來說,您應該建立一個數據源(數據表,自定義類的一些通用的列表等),然後是數據源分配到GridView,並將其綁定。這可以自動設置RowIndex和DataItemIndex。它還支持許多其他方便的功能(排序,分頁,編輯/刪除)。請參閱GridView Web Server Control Overview 以瞭解此默認功能的詳細分類。因此,我會說你應該將新行添加到你的數據源(不管那可能是什麼),然後將更新的數據源設置爲你的GridView的DataSource屬性,並且調用GridView.DataBind()。您將擁有新的行,並且不必手動創建GridViewRow對象。

但是,要回答你的問題:

  • int rowIndex:索引(位置),你正在創建將在GridView佔據一行。
  • int dataItemIndex:對這個數據的基礎數據源的索引(數據表或泛型列表或者是你使用任何)。
  • DataControlRowType rowType:這是行的類型 - 數據中,頁眉,頁腳等(full list here)的行。
  • DataControlRowState rowState:「狀態」行是 - 編輯模式,只讀模式,等等(full list here)。
1
for example to add into gridview you can use datatable... 

     public static DataTable TBCONRCVD;  

     FindRowNo = GoodsRcvdGridview.Items.Count; 
     DataRow ROW = TBCONRCVD.NewRow(); 

     ROW["PRDCT_RCVD_PRDCT_CODE"] = TxtSearch.Text; 
     ROW["PRDCT_RCVD_QTY"] = txtQty.Text.Trim(); 
     ROW["PRDCT_RCVD_COST"] = TXTUNITPRCE.Text.Trim(); 
     ROW["PRDCT_CRNT_SLNG_PRCE"] = SELL_PRCE.ToString(); 
     ROW["PRDCT_RCVD_VAT_CODE"] = TXTVATCODE.Text.Trim(); 
     ROW["PRDCT_RCVD_DISC"] = txtDscntPrcntge.Text; 


     TBCONRCVD.Rows.Add(ROW); 
     GoodsRcvdGridview.DataSource = TBCONRCVD; 
     GoodsRcvdGridview.DataBind();