我需要一个3列10行的表。如何在每个单元格中放置一个文本框?我知道我可以用10个名为textbox1,textbox2,...,textbox10的文本框来实现。但是我想从三个文本框中循环获取数据,将数据提交到数据库。换句话说,它使每个文本框的硬编码和调用更新命令10次更有效吗?
答案 0 :(得分:0)
对于直接HTML,在帖子结束时开始解决方案..
注意,你提到了asp,C#等等。我从未接触过ASP.NET,但以下是如何使用Windows Forms在C#中实现的。我不确定你在哪里尝试实现文本框网格,但这个例子应该可以转移到许多平台(ASP.Net有一个datagridview,但我认为实现有点不同)给出一点肘部润滑脂。有许多在线教程用于在asp中设置datagridview,所以我将把这部分留给你和google。
我会使用数据网格视图。有一些设置,但简而言之,假设表格在例程开始时应该是完全空白的:
datagridview1.DataSource = null;
datagridview1.Columns.Clear(); //Just make sure things are blank.
datagridview1.Columns.Add("Column1","Column1");
datagridview1.Columns.Add("Column2","Column2");
datagridview1.Columns.Add("Column3","Column3");
datagridview1.Rows.Clear();
for(int i = 0;i<10;i++)
{
datagridview1.Rows.Add()
}
datagridview1.EditMode = DataGridViewEditMode.EditOnKeystroke;
插入DataGridView对象时,需要确保禁用用户添加行的功能,以便不显示第11行。
我可能会用“”预先填充每个单元格,以确保您不必处理空值。如果这样做,那么您可以通过以下方式引用每个单元格:
for(int i = 0;i<datagridview1.Rows.Count;i++)
{
string val = datagridview1.Rows[rowIndex].Cells[<Column Index, or Name>].Value.ToString();
}
Stack Overflow discussion of making a table editable
我尝试了以下内容,并获得了一个可编辑的文本框表
<body>
<table>
<tr>
<th>Month</th>
<th>Savings</th>
<th>SomethingElse</th>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</tr>
</table>
</body>
下一步是确定如何访问该表。我假设有一种命名html元素的方法,你可以使用它来获取数据。我不是一个HTML人,所以......只是试着为你前进的道路。
引用从C#和/或ASP.NET中读取HTML表的其他链接..似乎还有一个ASP:可以使用的表..