如何在动态表中获取文本框值

本文关键字:获取 取文本 动态 | 更新日期: 2023-09-27 17:50:42

我得到了一个表,从数据库动态生成只有1个字段,然后我添加复选框和文本框到它。

TableCell tc;
            foreach (TableRow tr in Resource_TBL.Rows)
            {
                tr.Cells.Add(tc = new TableCell());
                ((IParserAccessor)tc).AddParsedSubObject(new CheckBox());
                tr.Cells.Add(tc = new TableCell());
                ((IParserAccessor)tc).AddParsedSubObject(new TextBox());
            }

然后我想检索表中的文本并保存到数据库中。

foreach (TableRow tr in Resource_TBL.Rows)
                    {
                        var cell = tr.Cells[1];
                        foreach (Control control in cell.Controls)
                        {
                            var checkBox = control as CheckBox;
                            if (checkBox != null)
                            {
                                if (checkBox.Checked)
                                {
                                    cmd = new SqlCommand(strSQL, con);
                                    cmd.Parameters.AddWithValue("@ITUSR_TRNNO", strTRNNO);
                                    cmd.Parameters.AddWithValue("@ID", strID);
                                    cmd.Parameters.AddWithValue("@REQUEST", tr.Cells[0].Text);
                                    cmd.Parameters.AddWithValue("@DETAIL", tr.Cells[2].Text);
                                    cmd.Parameters.AddWithValue("@REMARK", Remark.Text);
                                    cmd.Parameters.AddWithValue("@ENTBY", (string)Session["LogID"]);
                                    con.Open();
                                    cmd.ExecuteNonQuery();
                                    con.Close();
                                }
                            }
                        }
                    }

tr.cells[0].text是表中的文本。我能得到它。tr.cells[2].text是一个单元格,里面有一个文本框。如何从文本框中获取文本?

如何在动态表中获取文本框值

注:off the top of my head

   DataTable dt = new DataTable();
       int columnCount = dgv.Columns.Count;
           foreach (DataGridViewRow dr in dgv.Rows)
                {
                    DataRow dataRow = dt.NewRow();
                    for (int i = 0; i < columnCount; i++)
                    {
                        dataRow[i] = dr.Cells[i].Value;
                        //insert statement or save or initialaize or watever u going to do with the text
                       string st=   dataRow.ToString();
                    }
                    dt.Rows.Add(dataRow);
                }