データの更新後に、選択した行を覚えておくためにDataGridViewコントロールを取得しようとしています。 DataGridViewで選択した行を覚えている
- ユーザーがクリック:
Dim FXs As SortableBindingList(Of FX) = FX.LoadAllForBinding(FXStatus) Dim bs As New BindingSource bs.DataSource = FXs
全体の配列は、このようなものです:
DGVは、ビジネス・オブジェクトのリストにデータバインドされています - ユーザーがデータをポップアップ形式で編集し、終了すると閉じます
- Datagridviewがリフレッシュされました(0から再バインド)
選択された行は、以前に保存されたインデックス(DGVのDataBindingCompleteイベントに)
Me.dgvMain.Rows(_CurrentSelectedRowNo).Selected =真
これは正常に動作するよう、選択さに設定されています行が正しく設定されています(少なくともカウントは0から1になります)。しかし、次に起こるのは、デバッガーがバインドされたビジネスオブジェクトのプロパティにジャンプし(おそらくバインドのためにそれらを読み込む)、DataBindingCompleteイベントがDataBindingが完了する前に起動するように見えるということです。
DGVには最大約300個の行があるため、行を編集するたびに行ゼロにジャンプするのはかなり迷惑です。
ここで明らかに間違っているのですか?このために別のイベントを使用すべきですか?
データグリッドビューの値を編集できない理由はありますか?ポップアップフォームでデータを編集するメリットは何ですか? – SwDevMan81
基本設計では、DGVはフィールドのサブセットのみを表示します。 – Simon