DataGrid历遍CheckBox时出错!求高手指点!!
foreach(DataGridItem MyDataGridItem in DataGrid1.Items)
{
string cards = "";
CheckBox chkbox=(CheckBox)MyDataGridItem.FindControl( "CheckBox1");
for (int i = 0; i <= DataGrid1.Columns.Count - 1; i++)
{
if (chkbox.Checked == true)
{
cards += "'" + DataGrid1.Items[i].Cells[1].Text + "',"; //这句出错!!索引超出范围。必须为非负值并小于集合大小。参数名: index
}
}
if (!cards.Equals(""))
{
cards = cards.Substring(0, cards.Length - 1);
SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings["sbjx"]);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Update jyb set jylx=@jylx where id in (" + cards + ")";
cmd.Connection = cn;
cn.Open();
SqlParameter parm1 = new SqlParameter("@jylx", SqlDbType.Int);
parm1.Value = DropDownList1.SelectedItem.Text;
cmd.Parameters.Add(parm1);
cmd.ExecuteNonQuery();
cmd.Dispose();
cn.Close();
}
}