これは非常に一般的なワークフローであるはずなので、C# gridview も DevExpress も簡単な方法を提供していないことに驚いています。
例:
MyColumn は、コンボボックス タイプの列のフィールドです。ユーザーがこのフィールドの値を編集しようとすると、ドロップダウン リストで値を選択する必要があります。グリッドが 1 行の場合、「値 A」、「値 B」、または「値 C」から選択できます。ユーザーが 1 行目で「値 A」を選択した場合、2 行目で MyColumn に使用できる値は「値 B」と「値 C」になります。
現在、削除、挿入、または変更操作のたびにコンボボックス リポジトリを計算し (RepositoryItemComboBox.Items プロパティを変更)、CustomRowCellEdit イベント ハンドラで、更新されたリポジトリを列に割り当てます。コードは非常に複雑で脆弱です。
------更新------ ユースケースのより良い例を思いつきました: グリッドがユーザーに、米国で最も好きな 5 つの州を選択するように求めているとします。したがって、State 列は、最初に 50 の状態のリストを持つコンボボックス タイプの列です。ユーザーが最初の行で CA を選択した場合、2 行目では 49 の州しか選択できません。この場合、常に各行で値を一意にする必要があります。そうしないと意味がありません。