从gridview插入多个选中的值到数据库
问题描述:
我有这种方法来循环如果我gridview中的数据被检查或没有,如果他们被检查他们应该插入数据库。 正如你可以看到我想在GridView中插入的唯一数据是从单元格中的文本[2]在GridView和它在从gridview插入多个选中的值到数据库
using (SqlConnection con = new SqlConnection("my con string"))
{
con.Open();
foreach (GridViewRow row in GridViewConsNames.Rows)
{
CheckBox myCheckBox = row.FindControl("myCheckBox") as CheckBox;
if (myCheckBox.Checked)
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Accounting_Consolidation_ServiceOutputs(Cusomer_Name, Service_Name, Header_Name, Sort_Postion, Rename_to, Value) Values(@CustName,@ServiceName,@HeaderName,@Sort,@Rename,@Value)", con))
{
//cmd.Parameters.AddWithValue("PersonId", Convert.ToInt32(GridViewConsNames.DataKeys[row.RowIndex].Value));
cmd.Parameters.AddWithValue("@CustName", TextBoxCustName.Text);
cmd.Parameters.AddWithValue("@ServiceName", DropDownListServicesAvailable2.SelectedItem.Text);
cmd.Parameters.AddWithValue("@HeaderName", "Name of the checked cells from my gridview");
cmd.Parameters.AddWithValue("@Sort", null);
cmd.Parameters.AddWithValue("@Rename", "");
cmd.Parameters.AddWithValue("@Value", null);
cmd.ExecuteNonQuery();
}
}
}
}
我有这个
试过 @HeaderName的名字GridViewRow row = GridViewConsNames.SelectedRow;
string headername = row.Cells[2].Text;
但这似乎不工作
答
为什么使用GridViewRow row = GridViewConsNames.SelectedRow
当你真正想使用这里选中该复选框的所有行?
所以我想这是你想要什么:
foreach (GridViewRow row in GridViewConsNames.Rows)
{
CheckBox myCheckBox = row.FindControl("myCheckBox") as CheckBox;
if (myCheckBox.Checked)
{
// ...
string headerName = row.Cells[2].Text;
cmd.Parameters.AddWithValue("@HeaderName", headerName);
// ...
}
}
+0
嗨,对不起,我迟到的回答很抱歉,我通过小改动来查看方法来解决问题,但它是正确的!非常感谢你的帮助 – MishMish 2014-12-09 13:50:22
爆炸?你可以看看AddWithValue = @HeaderName我需要把它放在那里,它不工作,因为我刚刚意识到gridview.slected行不起作用,因为没有选择行,他们都通过复选框选择而不是 – MishMish 2014-12-05 08:46:57
什么是_“从我gridview检查单元格的名称”_?你真的想插入这些复选框的“Text”属性吗?如果是这样,为什么你没有使用'myCheckBox.Text'? – 2014-12-05 08:50:14
由于复选框和旁边的文本位于2个不同的单元格中,但在同一行上。所以基本上,只需检查我想要的名称,然后将它们插入表中,只是缺少headerName – MishMish 2014-12-05 09:45:25