3

隣接する 2 つのコンボボックス列を持つ DataGridview があります。最初の列 (StockCategory と呼ばれる) は、SQL Server 2012 の StockCategory テーブルのバインディングソースにバインドされています。次の列は Stock コンボボックスで、Stock テーブルのバインディングソースにバインドされています。要件は単純です。ユーザーが最初のコンボボックスから在庫カテゴリを選択した場合、在庫コンボボックスで使用できる在庫アイテムは、選択した在庫カテゴリのアイテムのみである必要があります。

Stock カテゴリの選択に基づいて Stock テーブルにフィルターを設定すると、正常に機能します。

this.StockBindingSource.Filter = "MaterialGroup = " + this.radGridView1.CurrentRow.Cells["MatGroup"].Value;

ただし、この場合、Stock 列のすべてのコンボボックスがフィルター値にフィルターされ、他の行の以前の Stock 値が消えているように見えます。

私はそれが古い問題であることを知っており、ウェブ上であらゆる種類のランダムな解決策を見てきましたが、何もうまくいかないようです.

助けていただければ幸いです(私はRadGridViewを使用していますが、解決策はおそらく一般的ですか?)

4

1 に答える 1

0

私には一般的な解決策がありますが、あなたにとっては私ほど良くないかもしれません. ほら、.Netコードが失敗したように見えるとき、私は単に自分のコードを使用することを好みます。したがって、Win-forms の DataGridview フィルターをそのままにして、StockCategory コンボ ボックスの値変更のイベントにアタッチし、Stock コンボ ボックスで独自の値をフィルター処理することをお勧めします。

それできますか?

于 2013-06-26T05:34:43.417 に答える