Gridview добавляет строку динамически в RowDataBound с тем же RowState (Alternate или Normal) - PullRequest
1 голос
/ 17 января 2012

Я добавляю строки динамически в код позади, в зависимости от строки, в настоящее время связанной с событием RowDataBound.Я хочу, чтобы эта добавленная строка была в том же состоянии (альтернативном или нормальном) для текущей ограниченной строки, возможно ли это?

Я делаю что-то подобное, но это не соответствует тому, что я хочу.Я ожидаю, что добавленная строка динамически будет такой же, как текущая строка.Но это не так.

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        GVData data = e.Row.DataItem as GVData;  // not original object just for brevity
        if(data.AddHiddenRow)
        {
            // the row state here should be the same as the current
            GridViewRow tr = new GridViewRow(e.Row.RowIndex +1, e.Row.RowIndex + 1, DataControlRowType.DataRow, e.Row.RowState);
            TableCell newTableCell = new TableCell();
            newTableCell.Style.Add("display", "none");
            tr.Cells.Add(newTableCell);

            ((Table)e.Row.Parent).Rows.Add(tr);
        }
    }
}

1 Ответ

2 голосов
/ 18 января 2012

Хорошо, проблема в том, что GridView не распознает отображение: ни один из них не означает, что этот ряд будет скрыт и поэтому считается его частью своего чередующегося стиля. В этом случае вам нужно самостоятельно реализовать стилизацию и удалить ее из определения gridview.

Я добавлю полу-пример в ближайшее время иметь встречу.

...