複数のカテゴリ(チェックボックス)を選択して、gridViewコントロールでそれらのカテゴリの結果のみを表示できるクライアントの検索を提供したいと考えています。たとえば、ユーザーがアイテムの価格>100および価格<100をチェックした場合、選択されたチェックボックスに関するアイテムのみを取得し、他のすべての選択基準をデータリストに入力しないでください。選択に応じて動的な複数のクエリを生成する方法と、選択したチェックボックスリストを取得してSQLクエリに渡す方法がわかりません。ヘルプやチュートリアルをいただければ幸いです。また、チェックボックスの選択を解除すると、その選択項目がデータリストから消えます。
問題は解決された:
static public DataTable GetSelectedFilter(ArrayList test)
{
string sqldef = "Select * from productDetail Where";
string sql = "";
int check = 0;
int number = test.Count;
string OR = "OR";
//ArrayList arrlist = new ArrayList();
if (test.Count > 0)
{
while (number > check)
{
sql += "((Price between " + test[number - 1] + "))" + OR;
number--;
}
string completeQuery = sqldef + sql;
string sqltest = completeQuery.Substring(0, completeQuery.Length - 2);
string finalQuery = sqltest + "order by Price";
SqlDataAdapter da = new SqlDataAdapter(finalQuery, ConnectionString);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
else
{
string sql1 = "Select * from productDetail";
SqlDataAdapter da = new SqlDataAdapter(sql1, ConnectionString);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}