GridViewRow构造函数参数,它们究竟是什么?

时间:2013-04-04 13:05:51

标签: c# asp.net gridview gridviewrow

我已经阅读了msdn(见下文)的定义,这对我没有帮助。我正在动态地将gridviewrows添加到我的gridview中,并且不知道它们的参数是什么。

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

rowIndex类型:System.Int32 GridViewRow对象的索引   GridView控件的行集合。

     

dataItemIndex类型:System.Int32 DataItem中的索引   基础DataSet。

     

rowType类型:System.Web.UI.WebControls.DataControlRowType其中一个   DataControlRowType枚举值。

     

rowState类型:System.Web.UI.WebControls.DataControlRowState按位   DataControlRowState枚举值的组合。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

这些参数(通常是这个构造函数)确实很少需要使用。它们用于创建GridView,它是完全手动的行 - 考虑到此控件内置的强大数据绑定功能,这是非常不必要的。让我解释一下。

通常,您应该构造一个数据源(DataTable,一些自定义类的通用列表等),然后将该数据源分配给GridView并绑定它。这样可以自动设置RowIndex和DataItemIndex。它还允许许多其他方便的功能(排序,分页,编辑/删除)。有关此默认功能的详细信息,请参阅GridView Web Server Control Overview

因此,我会说您应该将新行添加到数据源(无论可能是什么),然后将更新的数据源设置为GridView的DataSource属性,并调用GridView.DataBind()。您将获得新行,而不必手动创建GridViewRow对象。

但是,要回答你的问题:

  • int rowIndex:您正在创建的行的索引(位置)将占用GridView。
  • int dataItemIndex:基础数据源(DataTable或通用列表或您使用的任何内容)中此数据的索引。
  • DataControlRowType rowType:这是行的类型 - 包含数据,页眉,页脚等的行(full list here)。
  • DataControlRowState rowState:行处于“状态” - 编辑模式,只读模式等(full list here)。