Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > GridView RowCommand


Автор: newbieBH 11.3.2010, 11:24
есть вопрос следующего характера... на страничке лежит GridView для которого я формирую DataTable с данными и заполняю им грид, также в грид добавляется колонка с кнопками. по нажатию на кнопку в любой строке мне нужно взять некоторые значения из этой строки. для этого мне нужно знать индекс этой строки. делаю так...
Код

protected void GVDocumentList_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];

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

protected void GVDocumentList_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int index = Convert.ToInt32(e.CommandArgument);

        GridViewRow row = GVDocumentList.Rows[index];
    }

проблема в том что при выполнении строки GridViewRow row = GVDocumentList.Rows[index]; я получаю System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)