Я новичок в C#, поэтому, возможно, все происходит неправильно. У меня есть два комбинированных блока. Когда у одного есть значение, другое всегда должно быть string.Empty. Моя проблема в том, что когда я изменяю значение в одном, я устанавливаю другое в string.Empty. Который, конечно, запускает это событие и устанавливает элемент управления, который я изменил, на string.Empty. Поэтому мне всегда нужно вводить значение дважды. Я пробовал несколько утверждений if, чтобы это не происходило, но ничего не сработало. Я использую ValueChanged. Должен ли я использовать какое-то другое событие?combo box Событие ValueChanged, влияющее на два cbos
private static void cboJobDetailer_ValueChanged(object sender, System.EventArgs args)
{
// ** Place Event Handling Code Here **
if (cboJobDetailer.Value != string.Empty) {
var edvJobPart = (EpiDataView)oTrans.EpiDataViews["JobPart"];
edvJobPart.dataView[edvJobPart.Row]["BI_JobOutsourceID_c"] = string.Empty;
cboOutsourceCo.Value = string.Empty;
}
}
private static void cboOutsourceCo_ValueChanged(object sender, System.EventArgs args)
{
// ** Place Event Handling Code Here **
if (cboOutsourceCo.Value != string.Empty){
var edvJobPart = (EpiDataView)oTrans.EpiDataViews["JobPart"];
edvJobPart.dataView[edvJobPart.Row]["BI_JobDetailerID_c"] = string.Empty;
cboJobDetailer.Value = string.Empty;
}
}
В Epicor ERP комбинированное окно является Ice.Lib.Framework.EpiUltraCombo, это наследует от Infragistics UltraCombo, который реализует событие ValueChanged.
Thanks Web. Мне нужно будет изменить это, чтобы работать со статическим классом (да, я использовал генератор кода) или изменить существующий класс, чтобы он больше не был статичным. Я вижу, мне нужно больше времени проводить с C#, поэтому мне не нужно использовать генератор кода. –