私はVisual Studio 2010でASP Webアプリケーションを作成しています。私は、データセットにADOのselectコマンドを渡し、私の目的のSQLでデータグリッドを埋めるグリッドビューで検索機能を実装しようとしています。私はこれがwinformsとdatagridviewsのために可能であることを知っているが、何らかの理由で、私のASPアプリケーションで奇妙に動作している。ここにいくつかのコードがあります...ASP.netの奇妙なグリッドビューの動作
protected void btn_search_Click(object sender, EventArgs e)
{
SqlConnection cs = new SqlConnection("Data Source=WILSON-PC; Initial Catalog=KamManOnline; Integrated Security=TRUE");
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = new SqlCommand("SELECT * FROM vw_orderView WHERE Supplier = @Supplier", cs);
da.SelectCommand.Parameters.Add("@Supplier", SqlDbType.VarChar).Value = ddl_SupplierView.Text.ToString();
ds.Clear();
da.Fill(ds);
gv_search.DataSource = ds.Tables[0];
gv_search.DataBind();
}
データ量は適切ですがグリッドビューには表示されません。たとえば、サプライヤのためにウィルソンとして3つのフィールドがあるとします。検索ボタンをクリックすると、3行が表示されますが、空です。これを回避するためのアイデアや別の方法はありますか?ありがとう!
P.S.私は、クエリビルダでこれを書いてみましたが、私はサプライヤーが値を持っているかどうかを言うこと条件ならば、いくつかを追加する必要があるか、私はデータバインドウィザードを使用してみましたが、eventrually私は私の検索でよりフレキサビリティをしたい、例えば
SELECT * FROM vw_orderView WHERE (Supplier = @Supplier OR @Supplier IS NULL).
null(チェックボックス)。これが正しいアプローチであれば、そう言いなさい。ありがとう
グリッド定義をASPX/ASCXレイアウトに表示 – sll