一般社団法人 全国個人事業主支援協会

COLUMN コラム

VB.netやC#で扱うことができるデータグリッドビューについて個人的に気づいたことを記載しようと思います。
自分は選択されているはずなのに編集できないのはなぜか気になっていました。
例えばコンボボックスセルでは1回目のクリックで選択状態になり、2回目でそれが編集モードぽくなり、3回目でドロップダウンが開くようになっています。
この無駄な動作をなくす方法は他の方がいくつも上げているので省きますがどのような仕様になっているのか気になる方もいると思うのでおそらくこうだろうなという見解が下記です!

1回目のクリック時ではセルの”Selected”がTrueになり、セル自体が選択されているように見えます。
2回目のクリックでそのセルがアクティブ状態になると思います。
そのため、CurrenctCellがこの段階で設定され感じです。
3回目でようやく編集モードでドロップダウンが開くイメージだと思います。

参考までに自分がやりたかった事を記載しますと
コンボボックスセルのダブルクリック時にフォームを開きそこで選択した項目を元のコンボボックスセルで選択するという処理でした。
全く選択されていない状態ではうまくいくのですが、その後すぐに同じ動作をしようとしたときダブルクリックがクリック2回と判断されドロップダウンが開くという現象が起きました。

それに伴った修正がアクティブの状態のセルを解除(currenctCell = null)を行ったあとにセルの”Selected”を”True”にするということでした。
これにより見た目は該当のセルが選択されている状態でアクティブではなくなるだけの状態へ戻すことができました。

文字だけでわかりにくくて申し訳ないですが参考になればうれしいです。

The following two tabs change content below.

栗原 義実

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア