0

Windows アプリケーションに devexpress を使用しています。データを入力する devxgrid があり、最後の列にキャンセルという名前のハイパーリンク ボタンがあります。キャンセル ボタンをクリックすると、うまく機能しているいくつかの機能が実行されます。その後、対応するキャンセル ボタンを無効にする必要があります。無効にする方法は?どんな助けでも大歓迎です。

4

1 に答える 1

1

このタスクを実装するには、次の 2 つの方法があります。

  1. 2 つの ButtonEdit リポジトリ アイテムを作成します。1 つは有効なボタンで、もう 1 つは無効なボタンです。次に、GridView.CustomRowCellEdite.RepositoryItemイベントを処理し、特定の条件に従って必要なリポジトリ アイテムをパラメーターに渡します。詳細については、個々のセルへの編集者の割り当てのヘルプ トピックを参照してください。

  2. ボタン エディターに複数のボタンがあり、それらのEnabled状態を動的に変更する必要がある場合は、次の DevExpress フォーラム スレッドに示すようにGridView.CustomDrawCellイベントを処理することで、この機能を実装できます。

    ButtonEdit 列内の特定のセルに対して無効なボタンを表示する方法

ただし、最初のアプローチに従う必要があります。ハイパーリンク編集の場合は、実装ロジックにブール値を持つカスタム列を追加します。これにより、ハイパーリンク編集リポジトリ編集を有効または無効に表示するかどうかの条件が得られます。

これを読み取り専用に設定したいだけの場合は、次のようにします。

次の処理を行うことで、エディターを読み取り専用にすることができますCustomRowCellEdit

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
    if(code goes here)
        e.RepositoryItem.ReadOnly = true;
}

次の処理を行うことで、エディターが表示されないようにすることもできますShowingEditor

private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
    if (code goes here)
        e.Cancel = true;
}

これがあなたの仕事を解決するのに役立つことを願っています..

于 2012-05-16T14:54:56.593 に答える