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です。したがって、値を選択すると、両方のコンボボックスが null になります。私が望むのは、コンボボックス 1 で値を選択すると、コンボボックス 2 がその値をリセットすることです。

4

3 に答える 3

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 に答える
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 に答える
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 に答える