0

ユーザーに関する情報を含むデータグリッドがあります

  UserName    UserID    UserHobby

そして、上記の各列にリンクされたコンボボックスがあります。ユーザーがいずれかのボックスを個別に選択すると、選択したデータグリッド行が最初に一致する行に移動します。ただし、たとえば、ユーザーが値「Bryan」を選択した場合、UserName と趣味「golf」を選択した場合、選択したセルを両方の値が存在する行に移動します。

現時点で、2 番目のコンボボックスの selectedIndexChanged コードは次のとおりです。

DataGrid.SelectedRows = 
          DataGrid.SelectedRows.Where(
          x =>x.Row.Field<string>(DataGrid.Text)
          .Contains(HobbyCombobox.Text));

ただし、これは機能していません。誰もが同様のアプローチまたは解決策を持っていますか

回答からのフィードバックに基づいて、私のコードは次のようになります

  var query = DataGrid.SelectedRows.Cast<DataGridViewRow>()
                            .Where(x => x.Row.Field<string> (DataGrid.Text).Contains(comboBox10.Text));
          DataGrid.DataSource = query.ToList();
          DataGrid.Refresh()

ただし、これは x.Row でエラーをスローしています

            System.Windows.Forms.DataGridViewRow' does not contain a definition for  'Row' and no extension method 'Row' accepting a first argument of type  'System.Windows.Forms.DataGridViewRow'
4

1 に答える 1