pam.childers Ответов: 0

Создание динамической таблицы


Я создаю динамическую таблицу с внутренним кодом, используя Visual Studio и C#. Проблема, которая у меня есть, заключается в том, что я либо получаю каждую запись в отдельной строке, либо все записи в одной строке. Я хотел бы использовать оператор say a for, чтобы поместить, скажем, от 3 до 4 элементов в ряд, а затем начать новую строку. Я несколько раз пытался изменить код, но до сих пор не могу заставить его выглядеть так, как я хочу.

Это помещает каждое изображение в отдельную строку.

while (theReader.Read())
                           {
                                   dieCutRow = new TableRow();

                                   string dieName = theReader["DieName"].ToString();
                                   string dieImage = theReader["Image"].ToString();
                                   string dieDirectory = theReader["DieType"].ToString();
                                   string dieURL = "images/" + dieDirectory + "/" + dieImage;




                                   dieCutCell = new TableCell();
                                   dieCutCell.Style.Add("width", "100px");
                                   dieCutCell.CssClass += " cartPaddingLeft";
                                   dieCutCell.Text = "<img src='images/" + dieDirectory + "/" + dieImage + "' width='100'/>";
                                   dieCutRow.Cells.Add(dieCutCell);

                                   dieCutCell = new TableCell();
                                   dieCutCell.Style.Add("width", "100px");
                                   dieCutCell.CssClass += " cartPaddingLeft";
                                   dieCutCell.Text = "" + theReader["DieName"].ToString() + " ";
                                   dieCutRow.Cells.Add(dieCutCell);


                                  tblDieCuts.Rows.Add(dieCutRow);
                       }


Если я возьму
dieCutRow = new TableRow();
и
tblDieCuts.Rows.Add(dieCutRow);

переместите их за пределы цикла while, и тогда я получу одну строку со всеми моими данными в ней.

Что я уже пробовал:

Я попытался добавить цикл for и т. д. Я подумал о сортировочном списке. Gridview в основном дает мне то, что я сейчас имею с существующим кодом.

an0ther1

Если вы хотите поместить" 3 или 4 " элемента в одну строку, то вам понадобится еще один цикл для добавления данных в ячейки таблицы.

theReader. Read() прочитает следующий блок данных-одну строку.
Если вы хотите поместить в свои ячейки более одной строки, вам нужно снова вызвать theReader.Read (), чтобы получить больше данных.

Основываясь на том, что вы предоставили, я бы предположил, что вам нужно использовать Dataset &DataTable вместо DataReader - обратитесь к документации MSDN; https://msdn.microsoft.com/EN-US/library/27y4ybxw(v=VS. 100,d=hv. 2). aspx
В частности, прочтите раздел о выборе DataReader или Dataset
Я бы также предложил вам переосмыслить свой дизайн

0 Ответов