テキストボックスの各単語に基づいてグリッドビューをフィルタリングしたかったのですか?連続して単語を追加するたびにフィルタがデータグリッドを検索する必要があります。しかし、下のコードでは、最後の単語に応じてのみ検索を戻します。私はデータグリッドビューを使用していることに注意してください。あなたが最後になっている理由ですDataGridViewをC#のテキストボックスで各単語をフィルタとしてフィルタ
どれアドバイス
ます。private void textBox1_TextChanged(オブジェクト送信者、EventArgsの電子) {
int count = textBox1.Text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Count();
label68.Text = count.ToString();
string[] nameParts = textBox1.Text.Split(' ');
int cnlp = 1;
while (cnlp <= count)
{
string loopcount = nameParts[(cnlp - 1)];
lbtest5.Text = loopcount.ToString();
var bd = (BindingSource)dgvShopDrawings.DataSource;
var dt = (DataTable)bd.DataSource;
dt.DefaultView.RowFilter = string.Format("DrawingID like '%{0}%' or title like '%{0}%' or level like '%{0}%'", lbtest5.Text.Replace("'", "''"));
dgvShopDrawings.Refresh();
ShopDrawingRecordCount = dt.Rows.Count;
SdDgvStatusCount.Text = String.Format("Records In {0}/{1} ", dgvShopDrawings.Rows.Count, ShopDrawingRecordCount);
cnlp = cnlp + 1;
}
}
検索は以下のようになります textBox1:john class 900 グリッドビューで(johnとclassと90)を持つ行をフィルタリングしたい場合は –
@FirasS代わりに" and "演算子を使うべきですof "または" operator in line:if(rowfilter.Length> 0)rowfilter + = "OR"; string.Format(.. filter text here ..)を中括弧で囲みます – Arie
私はすでにまたはを変更しましたが、効果はありません –