ユーザーに関する情報を含むデータグリッドがあります
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'