Альтернатива переопределению Render для добавления атрибута ClientScript.GetPostBackEventReference во вложенные GridViews - PullRequest
0 голосов
/ 13 сентября 2010

Есть ли альтернатива переопределению метода рендеринга страницы, чтобы сделать мои строки сетки просмотра кликабельными.Это прекрасно работает в режиме просмотра с одной сеткой, но при вложенности, хотя код и проходит нормально, я не получаю выбранный индекс, запускаемый при просмотре вложенной сетки.

Редактировать: я пробовалстрока в RowDataBound, но не знаю, почему я не получаю выбранный индекс стрельбы

e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(e.Row.Parent.Parent, "Select$" + e.Row.RowIndex);

protected override void Render(HtmlTextWriter writer)
{
    if (gdvServiceSchedule.Rows.Count > 0)
    {
        foreach (GridViewRow row in gdvServiceSchedule.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {

                    row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this.gdvServiceSchedule, "Select$" + row.DataItemIndex, true)); 
            }
            if (row.RowState == DataControlRowState.Edit || row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate))
            {
                GridView gv = (GridView)row.FindControl("gdvServiceScheduleVariants");
                if(gv.Rows.Count > 0)
                {
                    foreach(GridViewRow row2 in gv.Rows)
                    {
                        if(row2.RowType ==DataControlRowType.DataRow)

                        {
                            row2.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(row.FindControl("gdvServiceScheduleVariants"), "Select$" + row2.DataItemIndex, true)); 
                        }
                    }
                }

            }
        }
    }
    base.Render(writer);
}

1 Ответ

0 голосов
/ 13 сентября 2010

использовать инфраструктуру MVC ... но если серьезно, можете ли вы просто создать другой собственный элемент управления внутри строки вместо GridView?

...