1 ضمیمه
نقل قول: کمبوباکس در دیتاگریدویو
ضمیمه 90870 اینم دیتاگرید من
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول: کمبوباکس در دیتاگریدویو
سلام دوست عزیز
اولا کدت رو تو رخداد CellContentClick بنویس. سپس if هاتو به این تغییر بده ببین جواب میگیری؟
نقل قول:
if (e.ColumnIndex == dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim())
برای بعدیا هم یکی به cell[] اضافه کن. موفق باشی
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
homayon_azizi
سلام دوست عزیز
اولا کدت رو تو رخداد CellContentClick بنویس. سپس if هاتو به این تغییر بده ببین جواب میگیری؟
برای بعدیا هم یکی به cell[] اضافه کن. موفق باشی
ممنون از پاسختون دوست عزیز
تفاوت CellClick , CellContentClick چیه؟
و اینکه if (e.ColumnIndex == dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim())
columnIndex یه مقدار int داره اما قسمت دوم String و این تیکه کد اصلا کار نمیکنه
نقل قول: کمبوباکس در دیتاگریدویو
من این قطعه کد رو نو شتم و درست جواب میده البته فقط برای اندیس 0 اما اگه بخوام با زدن باتن در سطر دوم دوباره درج صورت بگیره باید جیکار کنم یه جلقه گذاشتم و اما ارور میده ودرست کار نمیکنه
privatevoid dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex<0)
return;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
objDamageCntr.DamagePosition_Id = Convert.ToInt32(dataGridView1.Rows[0].Cells["cmb_Position"].Value);
objDamageCntr.Damage_Id = Convert.ToInt32(dataGridView1.Rows[0].Cells["cmb_Damage"].Value);
objDamageCntr.Is_Services = Convert.ToBoolean(dataGridView1.Rows[0].Cells["Is_Services"].Value);
objDamageCntr.DamageEvent_Id = 13;
}
و برای ذخیره هم یه کلاس نوشتم و در صورتیکه روی باتن کلیک بشه اون اجرا میشه
privatevoid dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["btn_Add"].Index && e.Button == MouseButtons.Left)
{
objDamageCntr.Save();
}
}
اگه به این صورت بنویسم پیغام خطا میده
privatevoid dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex<0)
return;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
objDamageCntr.DamagePosition_Id = Convert.ToInt32(dataGridView1.Rows[i].Cells["cmb_Position"].Value);
objDamageCntr.Damage_Id = Convert.ToInt32(dataGridView1.Rows[i].Cells["cmb_Damage"].Value);
objDamageCntr.Is_Services = Convert.ToBoolean(dataGridView1.Rows[i].Cells["Is_Services"].Value);
objDamageCntr.DamageEvent_Id = 13;
}
دوستان اگه ممکنه کمک کنید کارم واقعا گیره این مضووع هست
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
raziyehbazargan
ممنون از پاسختون دوست عزیز
تفاوت CellClick , CellContentClick چیه؟
و اینکه
if (e.ColumnIndex == dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim())
columnIndex یه مقدار int داره اما قسمت دوم String و این تیکه کد اصلا کار نمیکنه
فرقشون تو اینه که وقتی شما یه دکمه ثبت رو تو دیتاگردید درست کردین پس یکی از مقادیر دیتاگرید محسوب میشه. پس وقتی شما CellContentClick رو انتخاب میکنی یعنی برنامه رو تو مقدار سلول دیتاگرید می نویسی.
نقل قول: کمبوباکس در دیتاگریدویو
میشه error برنامتو بذاری ببینم اررورش چیه؟
نقل قول: کمبوباکس در دیتاگریدویو
دوست عزیز من خودم دکمه Delete رو تو CellContentClick نوشتم هیچ مشکلی هم نداشت. شما وقتی یه بار بنویسی دیگه لازم نیست بندازیش تو for.
کدت رو به تغییر بده ببین جواب میده؟ البته تو CellContentClick بنویس.
نقل قول:
objDamageCntr.DamagePosition_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Position"].Value);
objDamageCntr.Damage_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Damage"].Value);
objDamageCntr.Is_Services = Convert.ToBoolean(dataGridView1.Rows[e.RowIndex].Cells["Is_Services"].Value);
objDamageCntr.DamageEvent_Id = 13;
objDamageCntr.Save();
1 ضمیمه
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
homayon_azizi
میشه error برنامتو بذاری ببینم اررورش چیه؟
ضمیمه 90903
این پیغام خطاش هست
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
raziyehbazargan
خوب شما اگه اونو تبدیل میکردین درست میشد.
به این صورت :
if (e.ColumnIndex == Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value())
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
homayon_azizi
دوست عزیز من خودم دکمه Delete رو تو CellContentClick نوشتم هیچ مشکلی هم نداشت. شما وقتی یه بار بنویسی دیگه لازم نیست بندازیش تو for.
کدت رو به تغییر بده ببین جواب میده؟ البته تو CellContentClick بنویس.
مرسی از راهنماییتون دوست عزیز
من کد رو تغییر دادم اما بعد از هر باز زدن دکمه باتن محتویات سطر اول رو در دیتابیسم درح میکنه
برای مشخص کردن باتنی که کلیک میشه آیا کدی که نوشتم درسته؟؟ من روی باتن دوم در سطر دوم هم که کلیک میکنم همون محتویات سطر اول رو در تیبلم درج میکنه
privatevoid dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["btn_Add"].Index && e.Button == MouseButtons.Left)
{
objDamageCntr.Save();
}
}
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
homayon_azizi
خوب شما اگه اونو تبدیل میکردین درست میشد.
به این صورت :
if (e.ColumnIndex == Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value())
اینکارو انجام دادم اما باز هم خطا میگیره
نقل قول: کمبوباکس در دیتاگریدویو
اگه میشه اون قسمت از برنامت رو اینجا ضمیمه کن تا روش کار کنم. موفق باشی
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
homayon_azizi
دوست عزیز من خودم دکمه Delete رو تو CellContentClick نوشتم هیچ مشکلی هم نداشت. شما وقتی یه بار بنویسی دیگه لازم نیست بندازیش تو for.
کدت رو به تغییر بده ببین جواب میده؟ البته تو CellContentClick بنویس.
من به این صورت نوشتم و درج ها درست انجام میشه به جز این مورد که سطر اول دوبار در تیبلم درج میشه
privatevoid dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
objDamageCntr.DamagePosition_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Position"].Value);
objDamageCntr.Damage_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Damage"].Value);
objDamageCntr.Is_Services = Convert.ToBoolean(dataGridView1.Rows[e.RowIndex].Cells["Is_Services"].Value);
objDamageCntr.DamageEvent_Id = 13;
objDamageCntr.Save();
}
نقل قول: کمبوباکس در دیتاگریدویو
نقل قول:
نوشته شده توسط
raziyehbazargan
من به این صورت نوشتم و درج ها درست انجام میشه به جز این مورد که سطر اول دوبار در تیبلم درج میشه
privatevoid dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
objDamageCntr.DamagePosition_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Position"].Value);
objDamageCntr.Damage_Id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["cmb_Damage"].Value);
objDamageCntr.Is_Services = Convert.ToBoolean(dataGridView1.Rows[e.RowIndex].Cells["Is_Services"].Value);
objDamageCntr.DamageEvent_Id = 13;
objDamageCntr.Save();
}
فکر کنم دلیلش اینه که شما این کد رو پاک نکردی.
نقل قول:
privatevoid dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["btn_Add"].Index && e.Button == MouseButtons.Left)
{
objDamageCntr.Save();
}
}