Karşılaştığım diğer bir sorun, Combobox'ların SelectedIndexChanged event'ının olmaması veya ulaşamamak. İnternette şöyle bir öneri vardı ne kadar doğru bilemem ama ben uyguladım oldu:
private void dgProTaskTable_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
try
{
ComboBox cb = e.Control as ComboBox;
if (cb != null && this.dgProTaskTable.CurrentCell.OwningColumn.Name=="clOperationStatus")
{
cb.SelectedIndexChanged -= new EventHandler(cb_SelectedIndexChanged);
cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
}
}
catch { }
}
DataGridView'in EditingControlShowing event handler'ı bize control bilgisini getiriyor. Böylelikle eğer comboxsa onun yeni tanımladığımız SelectedIndexChanged event'ına git diyebiliyoruz.
private void cb_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
ComboBox cb = sender as ComboBox;
TaskInformationItem item = new TaskInformationItem();
item.SetInactiveFields(cb.SelectedItem.ToString(), this.dgProTaskTable, this._inputInsuranceRequestInfo);
}
catch { }
}
Bu metodun içinde neler yaptığı önemli değil, önemli olan cb.SelectedItem olarak kullanabilmemiz :)
Hiç yorum yok:
Yorum Gönder