PDA

View Full Version : مشکل در انتخاب سطر



saraytanha
پنج شنبه 17 آذر 1390, 21:02 عصر
با سلام
من یه گرید دارم که به صورت دستی و با fill پر می شه و یه CheckBox در حین پر کردن گرید به اون اضافه می شه
حالا وقتی می خواهم این CheckBox تیک خورد اطلاعات این سطر در جدول ثبت بشه
از رویدادهای مختلفی استفاده کردم مثل CellContentClick و ...
اما مشکل همه این رویدادها اینه که وقتی روش کلیک می کنم داده فعلی اون سطر رو برمی گردونه
یعنی اگه بخواهم اون CheckBox رو انتخاب کنم و این رویداد فراخوانی می شه مقدار Falseرو برمیگردونه
یعنی یه قدم عقب تر
من کد رو می ذارم
از دوستان اگه کسی می تونه راهنمایی کنه .. خیلی گشتم چیزی پیدا نکردم

private void GVPersonal_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (GVPersonal.CurrentCell.ColumnIndex == GVPersonal.Columns[2].Index)
{
if (Convert.ToBoolean(GVPersonal.CurrentRow.Cells[2].Value) != true)
{
int PersonalId = Convert.ToInt32(GVPersonal.CurrentRow.Cells[1].Value);
string PersonalGHType = Convert.ToString(GVPersonal.CurrentRow.Cells[3].Value);

}
}
}

saraytanha
جمعه 18 آذر 1390, 13:58 عصر
از دوستان عزیز کسی نیست راه حل مشکل منو بدونه؟؟؟ بدجوری درگیرم کرده

ali_habibi1384
جمعه 18 آذر 1390, 14:23 عصر
يه دكمه بذار بنام ثبت اطلاعات توي رويداد كليكش عمليات ثبت اطلاعات رو چك كن، مثلا شما ميتوني توي رويداد كليك اين كد رو بنويسي:


foreach (DataGridViewRow row in GridName.Rows)
{
if (Convert.ToBoolean(row.Cells[0].Value) == true)
{
.
.
.

دستور if رو هم هر چي ميخواي بنويس.(ثبت اطلاعات ستونهاي چك خورده منظورمه)

reza_mostafavi63
جمعه 18 آذر 1390, 18:58 عصر
اين رو من تست كردم كار كرد


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// for dataGridView1.Rows.Count<0
try
{
MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());

}
catch (Exception)
{
;
}
}

saraytanha
شنبه 19 آذر 1390, 23:14 عصر
مرسی از توجه تون اما بازم جواب نداده
اين رو من تست كردم كار كرد


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// for dataGridView1.Rows.Count<0
try
{
MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());

}
catch (Exception)
{
;
}
}

reza_mostafavi63
شنبه 19 آذر 1390, 23:57 عصر
كدت رو بزار تا بررسي كنم . چون نميدونم گريد رو چطوري پر ميكني ،،، اينطوري نميشه جواب داد