3

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

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

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

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

rowType 类型:System.Web.UI.WebControls.DataControlRowType DataControlRowType 枚举值之一。

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

4

2 回答 2

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();
于 2013-04-04T13:30:51.333 回答
1

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

通常,您应该构造一个数据源(DataTable、一些自定义类的通用列表等),然后将该数据源分配给 GridView 并绑定它。这会自动执行设置 RowIndex 和 DataItemIndex 等操作。它还允许许多其他方便的功能(排序、分页、编辑/删除)。有关此默认功能的详细介绍,请参阅GridView Web 服务器控件概述

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

但是,要回答您的问题:

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