簡體   English   中英

ASP.net奇怪的網格視圖行為

[英]ASP.net weird grid view behavior

我正在Visual Studio 2010中創建ASP Web應用程序。 我正在嘗試使用網格視圖實現搜索功能,在該視圖中,我將ADO select命令傳遞到數據集中,並用所需的SQL填充datagrid。 我知道這對於winforms和datagridviews是可行的,但是由於某種原因,它在我的ASP應用程序中表現異常。 這是一些代碼...

   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個字段作為供應商的Wilson。 當我單擊搜索按鈕時,它將顯示3行,但它們為空。 有什么想法或其他方式解決這個問題嗎? 謝謝!

PS我嘗試使用數據綁定向導,但最終我希望在搜索中具有更大的靈活性,例如

SELECT * FROM vw_orderView WHERE (Supplier = @Supplier OR @Supplier IS NULL). 

我嘗試在查詢生成器中編寫此代碼,但是我需要添加一些if條件來說明供應商將具有值還是為null(復選框)。 如果這是正確的方法,請這樣說。 謝謝

我將執行以下操作以進行故障排除。

  1. 直接從SSMS運行查詢以驗證您是否獲得了期望的結果。
  2. 如果您沒有手動定義列,請確保GridView具有AutoGenerateColumns = true。
  3. ds.Clear()上設置了斷點的情況下,在調試模式下運行,並檢查新添加的Parameter是否包含所需的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM