2011-03-29 7 views
0

私はこの質問を何度も繰り返してきましたが、私には助けになる答えがありました。 1週間以上前にこれをやろうとしている助言が必要です。DataGridViewフィルタリングの問題

私は自分のdataGridがどこにあるのかユーザーコントロールを持っています。ツールバーがあります。フォームを検索するボタンがあります。ボタンとテキストボックスが1つあります。

private void btnFind_Click_1(object sender, EventArgs e) { Inventory i = new Inventory(); i.Search(txtFind.Text); } 、これがどのように動作しますSearch方法にある:私が使用

public void Search(string searchWord) 
    { 
     AcidDBDataContext db = new AcidDBDataContext(); 
     var q = db.ProcSearch(searchWord); 
     dgvInventory.DataSource = q; 
    } 

をこの方法では、インベントリで正常に動作しますが、私はbtnFindをクリックすると、それは何もしない、このボタンを私はこのようなメソッドSearch()を呼び出すクリックデバッガを実行し、クエリが正しく実行されていることを確認し、テーブルから行を取得します。 問題は、この行にある:dgvInventory.DataSource = q;

イムC#のWinFormsのとSQL Server 2008の

答えて

1

あなたは、私が試したのBindingSource

BindingSource bs = new BindingSource(); 

[検索で(文字列searchWord)

//dgvInventory.DataSource = q; 
bs.DataSource = q; 
if (dgvInventory.DataSource == null) 
    dgvInventory.DataSource = bs; 
else 
    bs.ResetBindings(false); 
+0

動作しません。私も他のフォームからDataGridの列を非表示にすることはできません –

1

を使用します)(dgvInventory.ResetBindingsを試みたことがありますか?

[編集:誤って記載さ.Refresh代わりの.ResetBindings]

+0

を使用することができます今は動作しません。別のフォームのDataGridviewで何も動作しません。 –

+0

実際はResetBindings()でした。私は上記のcdelで述べたように考えていました。私はリフレッシュがUI表現を目指していると思う。 –

関連する問題