PDA

View Full Version : سوال: checkbox in datagridview



fereshtehM
دوشنبه 20 آذر 1391, 15:17 عصر
سلام
دوستان میشه کمکم کنید که داخلdatagridview که از database پر میشه یک ستون داشته باشم که از نوع چک باکس باشه و با انتخاب اون بتونم اطلاعات row انتخابی رو Update یا Save کنم.
در webapplication این کار روی gridview خیلی ساده هست اما در winform دچار مشکل شدم.لطفا راهنماییم کنید.

khokhan
دوشنبه 11 دی 1391, 16:05 عصر
دوست عزيز اگه خواستي فقط يك گزينه روثبت كني از اين تكه كد استفاده كن

مشكل اين كد در اين است كه وقتي تعداد گزينه ها از يكي بيشتر شد گزينه ها تكراري در ديتابيس ذخيره مي شوند



private void button1_Click(object sender, EventArgs e)
{
List<int> rowsToinsert = new List<int>();

{
foreach (DataGridViewRow rows in dataGridView1.Rows)
{
DataGridViewCheckBoxCell checkBox = dataGridView1[0, rows.Index] as DataGridViewCheckBoxCell;
if (checkBox != null) //checking if correct row is checkboxcell
{
if (Convert.ToBoolean(checkBox.Value) == true)//checking if tick is added
try
{
OleDbConnection ocn = new OleDbConnection(ConnectionString);


// OleDbCommand ocm = new OleDbCommand();

OleDbCommand com = new OleDbCommand("INSERT INTO tblTel1(LName,FName)VALUES(@p1,@p2)", ocn);
com.Parameters.Clear();
rowsToinsert.Add(rows.Index);
com.Parameters.AddWithValue("@p1", dataGridView1.CurrentRow.Cells["LName"].Value.ToString());
com.Parameters.AddWithValue("@p2", dataGridView1.CurrentRow.Cells["FName"].Value.ToString());
ocn.Open();
com.ExecuteNonQuery();
ocn.Close();
rowsToinsert.Add(rows.Index);
MessageBox.Show(" ");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}
}