10

変数から別の変数に値を転送したいだけです:

 protected void gvVariableDetail_RowCommand(object sender, GridViewCommandEventArgs e)
        {

            if (e.CommandName == "Edit")
            {

                 int index = Convert.ToInt32(e.CommandArgument);
                 GridViewRow gvRow = gvVariableConfig.Rows[index];
                 int rowIndex = index;

            }

        }

しかし、rowindex にはまだゼロの値があり、index は行の値を取得しています (これらの場合、行 2 を編集しようとすると、インデックスの値は 1 (0 から始まる) になります)。インデックス値をrowIndexに転送する方法を誰かが知っていることを願っています。

4

1 に答える 1

17

プロパティを使用して、それをCommandSourceにキャストできます。次に、そのプロパティを使用できます。NamingContainerGridViewRowRowIndex

GridViewRow gvr = (GridViewRow)((Control)e.CommandSource).NamingContainer; 
int rowIndex    = gvr.RowIndex;

を使用するCommandArgument場合は、aspx から設定する必要があります。

CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' 

次に、これも機能します:

int RowIndex = int.Parse(e.CommandArgument.ToString()); 
于 2012-11-08T09:20:58.950 に答える