2016-08-15 40 views
0

現在、私はMicrosoft Accessを使用してデータを保持しており、WPFコンボボックスにバインドします。以下のコードはほぼ正常に動作していました。C#WPF ComboBox - バインディングデータ(Microsoft Accessからのバインディング)の最後の行(または空白スペース)を除外します。

oleDBCommand.CommandText = 

"SELECT " 
    + "table.[Col1] & ' - ' & table.[Col2] As COl1_Col2, table.[Col3] " + 

"FROM " 
    + "table_1 " + 

"WHERE " 
     + "(table_1.[col3] = '" + comboboxSelection.Text + "' OR table.[col3] = 'All') "; 

私が持っている問題は、コンボボックスに空きスペースがあることです。それを取り除く方法を知ってもいいですか?それはアクセスクエリまたはComboBoxプロパティ経由ですか?

enter image description here

答えて

0

コンボボックスは、あなたのクエリから出てくるデータを詳しく見てみ、あなたがそれを与えるオブジェクトを表示します。空の値を持つ行を除外するには、where句にフィルタを追加する必要があります。

+0

ガイド(http://stackoverflow.com/questions/1584493/how-to-delete-the-blankrows)の手順に従っていますが、まだ空白が残ります。唯一違うのは(2つのフィールドのみを含む異なるテーブルを使用する他のコンボボックスに比べて)8つ以上のフィールドがあります。フィールドが空白スペースを表示する可能性があるかどうかはわかりませんか? – user6648485

+0

データベースの行が15以上の場合、コンボボックスの下部に空白が表示されます。データベースの行が15以下の場合は、コンボボックスに空白が表示されません。 – user6648485

+0

WPFアプリケーションとは別にクエリコードをテストして、クエリが空の行のデータを返すかどうかを確認しましたか? – benPearce

1

ComboBoxの ScrollViewer.CanContentScroll = "False" を設定してみてください。

関連する問題