1

我的 DevExpress LookUp 控件中有这个简单的代码(应该与普通的组合框相同)

private void lookUpUsers_EditValueChanged(object sender, EventArgs e)
{
    lookUpRolesPréÉdit.EditValue = null;
}

private void lookUpRolesPréÉdit_EditValueChanged(object sender, EventArgs e)
{
    lookUpUsers.EditValue = null;
}

问题是,当我在 中选择一个值时lookUpUsers,会重置另一个查找,然后再重置lookUpUsers。因此,当我选择一个值时,两个组合框都变为空。我想要的是,当您在组合框 1 中选择一个值时,组合框 2 会重置其值。

4

3 回答 3

1

可能有比这更简单的方法,因为我对 C# 的了解有限(尤其是他们的库,比如你在这里使用它们)。然而,这是一个不使用库提供的魔法的答案:

private bool localEdit = false;

private void lookUpUsers_EditValueChanged(object sender, EventArgs e)
{
    if (!localEdit)
     {
        localEdit = true;
        lookUpRolesPréÉdit.EditValue = null;
        localEdit = false;
    }
}

private void lookUpRolesPréÉdit_EditValueChanged(object sender, EventArgs e)
{
    if (!localEdit)
    {
        localEdit = true;
        lookUpUsers.EditValue = null;
        localEdit = false;
    }
}
于 2012-04-23T22:06:40.813 回答
1

这个怎么样:

private void lookUpUsers_EditValueChanged(object sender, EventArgs e)
{
    if(lookUpUsers.EditValue != null)
        lookUpRolesPréÉdit.EditValue = null;
}

private void lookUpRolesPréÉdit_EditValueChanged(object sender, EventArgs e)
{
    if(lookUpRolesPréÉdit.EditValue != null)
        lookUpUsers.EditValue = null;
}
于 2012-04-23T23:37:10.533 回答
0

这是我想出的解决方案

private void lookUpUsers_EditValueChanged(object sender, EventArgs e)
{
    if (!isEditFinished)
    {
        isEditFinished = true;
        lookUpRolesPréÉdit.EditValue = null;
    }

    isEditFinished = false;
}

private void lookUpRolesPréÉdit_EditValueChanged(object sender, EventArgs e)
{
    if (!isEditFinished)
    {
        isEditFinished = true;
        lookUpUsers.EditValue = null;
    }

    isEditFinished = false;
}
于 2012-04-23T23:06:50.650 回答