srilaxmijakki Ответов: 1

Развернуть/свернуть строки в Gridview


Мне нужно развернуть/свернуть строку в gridview. Я добавил строку динамически под каждой статической строкой в GridView в rowdatabound, но при обратной передаче она отображает динамически созданную строку после каждой статической строки без какого-либо значения.Предположим, у нас есть 2 статические строки динамически мы создали еще 2 строки на каждой строке, после обратной передачи он отображает 2 строки 1 статическая строка и другая динамически созданная строка без какого-либо значения 2-я статическая строка отсутствует.

Пожалуйста, помогите мне в создании строк динамически.

Kschuler

Пожалуйста, отредактируйте свой вопрос и включите свой код, чтобы люди могли лучше помочь вам.

Sandeep Mewara

Добавьте несколько фрагментов кода, чтобы объяснить это.

1 Ответов

Рейтинг:
12

rwmao

какова ваша точная цель для создания динамического ряда? Чтобы показать какую-то картинку?
насколько я знаю, динамическое создание строки легко, но не так просто поддерживать. У меня есть подобный опыт. Моя цель создания динамической строки-вставить пустую строку без высоты ниже некоторых специальных строк, чтобы выделить их, однако она полностью изменится после обратной передачи. Мое решение заключается в изменении стиля строки вместо вставки новой строки.


private void InsertSummaryRow(GridView gv,  int rowIndex,int colSpan, int HLfontSize)
 {

     //this is just an example of how to insert the dynamical row. HLfontSize is the font size of the label

     Label Summary0 = new Label();

    Summary0.Text = "Summary:";
     Summary0.Font.Size = HLfontSize;  Summary0.ForeColor = System.Drawing.Color.FromName("MediumBlue"); Summary0.Height = Unit.Parse("20px");

     GridViewRow tr = new GridViewRow(0, 0, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
     TableCell cel = new TableCell();
     cel.ColumnSpan = colSpan;
     cel.Style.Add("border-bottom", "blue 3px solid");  //style of the row
     cel.Style.Add("white-space", "nowrap"); //style of the row
     cel.Controls.Add(Summary0);
     tr.Cells.Add(cel);

     gv.Controls[0].Controls.AddAt(rowIndex, tr);

 }