私はデータを入力するときに最初の項目がデフォルトで選択されるWinForm DataGridViewを持っています。アイテムが選択されたときにイベントが発生し、いくつかのコードが実行されたときにこれを発生させたくありません。私がこれを持っている解決策は、新しいデータバインド後にイベントが最初に発生したときに、イベントをアンフックバインドして再読み込みするか、またはフラグを変更することです。しかし、もう少しエレガントなものがあるのだろうかと思っていました。DataGridViewが最初の項目を選択しないようにする
答えて
私はwinformsアプリをテスト用に開いていませんが、あなたのデータとDataGridviewの間にBindingSourceが介在しているのが不思議です。その場合、何を設定すればいいですか
List<Data> data = GetMyData();
BindingSource myBindingSource = new BindingSource();
myBindingSource.DataSource = data;
myBindingSource.position = -1;
myGrid.DataSource = myBindingSource;
データとUIの間にBindingSourceオブジェクトを介入すると便利なことがよくあります。これは、List <>オブジェクトではなくDataTableオブジェクトをデータとして使用することに慣れていますが、多くのランダムな問題を修正するのに役立ちそうです。
使用次の例のようなもの:もちろん
dataGridView.Columns[0].Selected = false;
dataGridView.Rows[0].Selected = false;
dataGridView.Rows[0].Cells[0].Selected = false;
ように行、列、およびがある場合は、確認してください。それは単なる例です。
何(申し訳ありませんが、VB.NETが、私はあなたが変換できると確信している)について:
myGrid.ClearSelection()
私は(私はSelectionChangedイベントを使用していない)と同様の問題を抱えていたし、これがために働きます私:バインディングが設定された後に、コンストラクタで
、DataBindingCompleteイベントにハンドラを追加します。
dgvCommandos.DataSource = systeemCommandos; // = my List<> of objects
dgvCommandos.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dgvCommandos_DataBindingComplete);
ハンドラ:
void dgvCommandos_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
dgvCommandos.ClearSelection();
}
行を選択する場合は、
これを基に、私はユーザーの選択に応じて他のイベントを処理することが可能だと思います。お役に立てれば。
が、私はそれは私のために働いてしまっただけで、私の方法(などのTextBox、コンボボックス、多くののBindingSource経由で私のDataGridViewにバインド):私のコントロールにデータ連結を初期化し、データをロードした後
DataGridViewのに私はバインディングが中断された場合、私がチェック私のRowHeaderMouseClickイベントで結合
bindingSource.SuspendBinding();
を中断しなければなりませんでした。もしそうなら、それを再開する:
if(bindingSource.IsBindingSuspended)
bindingSource.ResumeBinding();
この方法で私はロードを完了し、(私の場合ソート可能するBindingListに)データの結合、ユーザーになく、選択されていないレコードにデータを表示することができます。
これは少なくとも誰にでも役立ちます。
- 1. ドロップダウンリストの最初の項目を選択
- 2. jComboBoxは、選択したアイテムを選択したときに選択項目を最初に選択します
- 3. .first( 'li)リストの最初の項目を選択していないと
- 4. 常に最初の項目を選択リストボックスvb.net
- 5. ドロップダウンリストは、項目を選択/特定のアイテムの最初の
- 6. VIM:omnicomplete、ドロップダウンボックスの最初の項目を自動選択
- 7. 選択項目が
- 8. AspxListBoxの選択項目はnullですが、項目を選択します
- 9. コンボボックスで項目を選択しない
- 10. Silverlight Comboboxデータグリッドの選択項目に選択項目を設定
- 11. 選択項目の最後の項目を取得
- 12. 選択項目
- 13. Javascriptスクロールで選択要素にフォーカスを設定する最初の項目が表示されない
- 14. 最初のリストボックス項目を選択するにはどうすればいいですか?
- 15. ドロップダウンリスト項目を選択できない
- 16. オートコンプリート選択項目が
- 17. Webbrowser - 最初のドロップダウンリストから項目を選択した後に2番目のドロップダウンリストを更新する
- 18. C#のWebブラウザ選択リスト項目、私はこの方法を使用して選択リストボックスから項目を選択しようとしている
- 19. Doctrine 2:選択項目のタイプ別選択項目
- 20. Comboxboxは、データが利用可能なときに最初の項目を選択します。
- 21. .NET ListBox - マウスで項目を選択できないようにする
- 22. コンボボックス選択項目
- 23. DataGridViewの新しい行の最初の表示セルを選択します。
- 24. Angularjs選択した項目を選択してください。
- 25. OnClickListenerがGridViewの最初の項目で機能しない
- 26. MySQL GROUP BYは最初の項目を返します - 最後の項目を選択する必要があります
- 27. UITableViewCellのUIActivityIndicatorViewが選択項目に表示されない
- 28. リストビューに最初のテキストビュー項目が表示されない
- 29. 複数の項目から項目を選択するListView - android
- 30. サブメニュー項目を選択
私のバインディングソースは総称リストです。 – jwarzech
しかし、いつでもBindingSourceオブジェクトに介入することができます。私は秒を与え、私が意味するもので答えを更新します。 – Clyde
これは動作しません。 'myBindingSourceの設定。Position = -1; '直ちにそれを読み取ると、-1ではなく0が表示されます。 – styfle