Record 11

How to dynamically create a table in C #

<table id="tableContent" border="1" runat="server"> <tr> <td colspan="3"> Record 1 </td> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>a</td> <td>b</td> <td>c</td> </tr> <tr> <td>m</td> <td>n</td> <td>o</td> </tr> <tr> <td colspan="3"> <input id="Button1" type="button" value="button" /> </td> </tr> </table> 

I need to dynamically create the table above in C # I'm trying but not received

 protected void Page_Load(object sender, EventArgs e) { HtmlTableRow row = null; HtmlTableCell cell = null; for(int i = 0; i < 5; i++) { row = new HtmlTableRow(); cell = new HtmlTableCell(); tableContent.Controls.AddAt(i, row); row.Controls.AddAt(i, cell); cell.InnerText="1"; } } 
+4
source share
3 answers

You can try this code to create a table.

First place this markup on an aspx page, e.g.

 <table id="tableContent" border="1" runat="server"></table> 

Then try this code in Page_Load, for example

 protected void Page_Load(object sender, EventArgs e) { HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cell = new HtmlTableCell(); cell.ColSpan =3; cell.InnerText = "Record 1"; row.Cells.Add(cell); tableContent.Rows.Add(row); row = new HtmlTableRow(); cell = new HtmlTableCell(); cell.InnerText = "1"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "2"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "3"; row.Cells.Add(cell); tableContent.Rows.Add(row); row = new HtmlTableRow(); cell = new HtmlTableCell(); cell.InnerText = "a"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "b"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "c"; row.Cells.Add(cell); tableContent.Rows.Add(row); row = new HtmlTableRow(); cell = new HtmlTableCell(); cell.InnerText = "m"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "n"; row.Cells.Add(cell); cell = new HtmlTableCell(); cell.InnerText = "o"; row.Cells.Add(cell); tableContent.Rows.Add(row); row = new HtmlTableRow(); cell = new HtmlTableCell(); HtmlInputButton input = new HtmlInputButton(); input.ID = "Button1"; input.Value = "button"; cell.ColSpan = 3; cell.Controls.Add(input); row.Cells.Add(cell); tableContent.Rows.Add(row); } 

Or you can try this by storing the cell values ​​in a 2D array, for example

 protected void Page_Load(object sender, EventArgs e) { String[,] cellValues = { { "1", "2", "3" }, { "a", "b", "c" }, { "m", "n", "o" } }; HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cell = new HtmlTableCell(); cell.ColSpan = 3; cell.InnerText = "Record 1"; row.Cells.Add(cell); tableContent.Rows.Add(row); for (int i = 0; i < cellValues.GetLength(0); i++) { row = new HtmlTableRow(); for (int j = 0; j < cellValues.GetLength(1); j++) { cell = new HtmlTableCell(); cell.InnerText = cellValues[i, j]; row.Cells.Add(cell); } tableContent.Rows.Add(row); } row = new HtmlTableRow(); cell = new HtmlTableCell(); HtmlInputButton input = new HtmlInputButton(); input.ID = "Button1"; input.Value = "button"; cell.ColSpan = 3; cell.Controls.Add(input); row.Cells.Add(cell); tableContent.Rows.Add(row); } 
+7
source

I used this code to dynamically create a table in C #.

 string connectString = ConfigurationManager.ConnectionStrings["Sample4ConnectionString"].ToString(); StudentsModelDataContext db = new StudentsModelDataContext(connectString); var studentList = db.Students; Table tb = new Table(); tb.BorderWidth = 3; tb.BorderStyle = BorderStyle.Solid; tb.ID = "myTable"; foreach (Student student in studentList) { TableRow tr = new TableRow(); TableCell tc1 = new TableCell(); TableCell tc2 = new TableCell(); TableCell tc3 = new TableCell(); TableCell tc4 = new TableCell(); TableCell tc5 = new TableCell(); tc1.Text = student.Name; tc1.BorderWidth = 2; tr.Cells.Add(tc1); tc2.Text = student.Email; tc2.BorderWidth = 2; tr.Cells.Add(tc2); tc3.Text = student.Gender; tc3.BorderWidth = 2; tr.Cells.Add(tc3); tc4.Text = student.BirthDate.ToString(); tc4.BorderWidth = 2; tr.Cells.Add(tc4); tc5.Text = student.TotalMarks.ToString(); tc5.BorderWidth = 2; tr.Cells.Add(tc5); tb.Rows.Add(tr); } form1.Controls.Add(tb); 

This created the following image. enter image description here

0
source
 Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim rows As Integer = TextBox1.Text Dim columns As Integer = TextBox2.Text Dim r As Integer Dim c As Integer Literal1.Text = "<table border=" & "1" & ">" For r = 1 To rows Literal1.Text &= "<tr>" For c = 1 To columns Literal1.Text &= "<td>" Literal1.Text &= "&nbsp" Literal1.Text &= "</td>" Next c Literal1.Text &= "</tr>" Next r Literal1.Text &= "</table>" End Sub 
-1
source

Source: https://habr.com/ru/post/1442577/


All Articles