ASP.NET C # Динамически генерировать таблицу не работает

#c# #asp.net #html-table

#c# #asp.net #html-таблица

Вопрос:

Я пытался сгенерировать таблицу с n количеством строк. Использование PHP делает это хуже всего. Я попробовал следующий код:

 using System.Data;

// Create a DataTable instance
DataTable dTbl = new DataTable("myDynamicTable");

// Create a DataColumn instances

DataColumn dValue = new DataColumn();
DataColumn dMember = new DataColumn();

dValue.ColumnName = "Id";
dValue.DataType = Type.GetType("System.Int32");

dMember.ColumnName = "Name";
dMember.DataType = Type.GetType("System.String");

// Add these DataColumns into the DataTable

dTbl.Columns.Add(dValue);

dTbl.Columns.Add(dMember);
DataRow myrow = dTbl.NewRow();

myrow["Id"] = 1;
myrow["Name"] = "Tux";

// Add the row into the table

dTbl.Rows.Add(myrow);
  

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

Я тоже пробовал это:

 HtmlTable table1 = new HtmlTable();

// Set the table's formatting-related properties.
table1.Border = 1;
table1.CellPadding = 3;
table1.CellSpacing = 3;
table1.BorderColor = "red";

// Start adding content to the table.
HtmlTableRow row;
HtmlTableCell cell;
for (int i = 1; i <= 5; i  )
{
    // Create a new row and set its background color.
    row = new HtmlTableRow();
    row.BgColor = (i % 2 == 0 ? "lightyellow" : "lightcyan");

    for (int j = 1; j <= 4; j  )
    {
        // Create a cell and set its text.
        cell = new HtmlTableCell();
        cell.InnerHtml = "Row: "   i.ToString()  
          "<br>Cell: "   j.ToString();

        // Add the cell to the current row.
        row.Cells.Add(cell);
    }

    // Add the row to the table.
    table1.Rows.Add(row);
}

// Add the table to the page.
this.Controls.Add(table1);
  

но это не сработало!

Комментарии:

1.Вы ничего не сказали о том, как вы пытались использовать dTbl , или что произошло во втором примере.

2. В обработчик событий какой страницы помещен этот код?

Ответ №1:

Вместо того, чтобы делать «это.Элементы управления.Добавить (table1)» добавьте таблицу на страницу .aspx, а затем измените ее с помощью кода.

Еще лучше — используйте GridView с привязкой к данным.

Комментарии:

1. Спасибо за подсказку… попробую, но я считаю, что это оно 🙂