首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# DataView 實戰應用(二)— 模糊查詢與價格區間篩選完整範例

     編輯:關於C語言

完整 ASP.NET 實作流程

步驟 1:建立測試資料表


private DataTable MakeTable()
{
    DataTable dt = new DataTable("本地數據表");
    
    dt.Columns.Add("ID", typeof(int));
    dt.Columns.Add("商品名稱", typeof(string));
    dt.Columns.Add("商品價格", typeof(decimal));

    dt.Rows.Add(1, "足球", 57.5m);
    dt.Rows.Add(2, "籃球", 64.5m);
    dt.Rows.Add(3, "網球", 6.5m);
    dt.Rows.Add(4, "網球拍", 388.5m);

    return dt;
}

步驟 2:頁面載入綁定


protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Session["Table"] = MakeTable();
        DataGrid1.DataSource = (DataTable)Session["Table"];
        DataGrid1.DataBind();
    }
}

步驟 3-4:模糊查詢實作

前台:Label1 + TextBox1 + Button1


protected void Button1_Click(object sender, EventArgs e)
{
    DataTable dt = (DataTable)Session["Table"];
    DataView dv = new DataView(dt);
    
    // 模糊查詢:商品名稱包含輸入文字
    dv.RowFilter = "商品名稱 LIKE '%" + TextBox1.Text.Trim() + "%'";
    
    DataGrid1.DataSource = dv;
    DataGrid1.DataBind();
}

測試結果

輸入「網」→ 查詢結果:

ID  商品名稱  商品價格
3   網球      6.5
4   網球拍    388.5

步驟 5-6:價格區間篩選

前台:Label2 + TextBox2 (最小價) + TextBox3 (最大價) + Button2


protected void Button2_Click(object sender, EventArgs e)
{
    DataTable dt = (DataTable)Session["Table"];
    DataView dv = new DataView(dt);
    
    // 價格區間:>= 最小價 AND <= 最大價
    dv.RowFilter = "商品價格 >= " + TextBox2.Text.Trim() + 
                   " AND 商品價格 <= " + TextBox3.Text.Trim();
    
    DataGrid1.DataSource = dv;
    DataGrid1.DataBind();
}

測試結果

輸入 10 ~ 70 → 查詢結果:

ID  商品名稱  商品價格
1   足球      57.5
2   籃球      64.5

核心結論

DataView.RowFilter 完全能達到 SQL SELECT 語句同等功能,語法與作用極為相似,適用於本地 DataTable 查詢、未寫入資料庫的資料、或已修改未同步的資料場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved