我在一个页面上有 400 多个文本框。该页面是纸质表格的精确复制品。用户将编辑所有字段,然后将数据保存到数据库。数据被从 SQL DB 拉到 DataTable 中。
我计划通过相同的 DataTable 或仅通过批量更新来保存数据。不是100%。但是,我需要访问该数据。也许我没有把这下一个最好的部分做得最好,如果我不是,如果我被告知有更好的方法,我会很感激的。
当 DataTable 获取数据时,我将每个字段分配到适当的控件中。下面是如何添加数据的示例。
foreach (DataRow CDR in ClaimDataTable.Rows){
if (CDR["BoxNumber"].ToString() == "1.1")
this.Box1_1.Text = CDR["DataValue"].ToString();
if (CDR["BoxNumber"].ToString() == "1.2")
this.Box1_2.Text = CDR["DataValue"].ToString();
if (CDR["BoxNumber"].ToString() == "1.3")
this.Box1_3.Text = CDR["DataValue"].ToString();
我编写了一些代码来自动创建该代码。所以我没有手动编写所有 400 多行。
我当时的想法是,我可以为每个 TextBox 添加一个 LostFocus 事件。然后当控件失去焦点时,我会创建一个带有框名和框值的类。将其添加到列表中,当它们准备好保存时,只需遍历列表并使用 BoxNumber 和框数据进行批量更新。
这可行吗?或者有没有更好的方法?
谢谢!