PDA

View Full Version : سوال: انجام عملیات در DataGridView با توجه به تغییر محتوای یک cell



Iran58
شنبه 10 مهر 1395, 17:14 عصر
سلام
فرض کنید یک DataGridView دارای 5 cell است
حال می خواهم هنگامیکه در cell مورد نظر(ازنوع combox می باشد)وقتی داده مورد نظر را انتخاب کردم داده های دریافتی با توجه به ایتم انتخابی در cell های دیگر نمایش داده شود
چگونه باید این کد را بنویسم
باتشکر

حسین.کاظمی
شنبه 10 مهر 1395, 19:35 عصر
دوست عزیز سلام
اگر میشه بیشتر توضیح بدید ک قراره چ کاری انجام بدید تا بشه بهتر راهنماییتون کنیم
ممنون

mrprestige
شنبه 10 مهر 1395, 22:05 عصر
سلام دوست من بدون اتلاف وقت میرم سر اصل قضیه

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
var cbo = e.Control as ComboBox;
var txt = e.Control as TextBox;
if (cbo == null)
{
return;
}


cbo.DropDownStyle = ComboBoxStyle.DropDown;
cbo.Validating -= HandleComboBoxValidating;
cbo.Validating += HandleComboBoxValidating;



}


private void HandleComboBoxValidating(object sender, CancelEventArgs e)
{
var Co = sender as DataGridViewComboBoxEditingControl;


if ((Co == null))
{
return;
}
if (!Co.Items.Contains(Co.Text))
{

var CoColumn = this.dataGridView1.Columns[
this.dataGridView1.CurrentCell.ColumnIndex] as
DataGridViewComboBoxColumn;
Co.Items.Add(Co.Text);
CoColumn.Items.Add(Co.Text);
this.dataGridView1.CurrentCell.Value = Co.Text;
this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value = Co.Text;
}
}


بعد از اجرای برنامه شما بعد از اینکه کمبو رو مقدار دهی کردید همون لحظه هم به آیتم های کمبو اضافه میشه هم در فیلد مجاور ( که باید از نوع Textbox باشه) اضافه میشه حالا اگه از کد ها برات سوالی پیش اومد که متوجه نشدی بفرمایید تا بنده مو به مو توضیح بدم البته اگر ON بودم .