2

次のコードを使用して行インデックスを取得しています

protected void gvESAPending_RowCommand(object sender, GridViewCommandEventArgs e)

    {
        try
        {
            lblMsg.Text = "";
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = gvESAPending.Rows[index]; // Here incorrect format error is coming
        }
     }

しかし、インデックス値は0になります。ここで何が問題になっていますか?

Aspxコード

'>'>

4

2 に答える 2

1

OnRowCreteEventを追加できます

ASPX:

<asp:gridview id="gvESAPending" onrowcreated="gvESAPending_RowCreated" ...

CS:

protected void gvESAPending_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      LinkButton addButton = (LinkButton)e.Row.Cells[0].Controls[0];

      addButton.CommandArgument = e.Row.RowIndex.ToString();
    }

  }
于 2012-12-21T13:24:00.233 に答える
0
GridViewRow row = gvESAPending.Rows[index];

これを行うことで、実際にインデックスの行にアクセスできます。したがって、index = 2 の場合、実際には gridviewrow の 3 行目を返します。

于 2012-12-21T13:24:50.860 に答える