从表格/网格视图中获取用户输入

时间:2016-03-03 18:10:01

标签: c# html asp.net gridview

我需要一个3列10行的表。如何在每个单元格中放置一个文本框?我知道我可以用10个名为textbox1,textbox2,...,textbox10的文本框来实现。但是我想从三个文本框中循环获取数据,将数据提交到数据库。换句话说,它使每个文本框的硬编码和调用更新命令10次更有效吗?

1 个答案:

答案 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:可以使用的表..

C# Thread

ASP Thread