【问题标题】:Gridview binding detailsGridview 绑定细节
【发布时间】:2012-07-10 08:26:38
【问题描述】:

我有一个绑定到数据库的组合框,当我从组合框中选择订单时,它必须在单独的网格视图上显示订单详细信息和客户详细信息。我实现了,现在我想在该组合框中有一个“全部”选项,当所有这些都被选择时它会显示数据库中的所有订单详细信息和客户详细信息。

注意,我得到了 ordersDetailscustomerDetails 的表,它们具有 Orders 表的外键。我使用外键检索数据,但现在选项 ALL 没有外键,这就是我面临的问题。我已将我的网格视图与数据源绑定。

我的选择组合框绑定代码

SELECT 
    [ID], [orderName], 
FROM 
    Orders

我的 gridview 选择代码,根据从组合框中选择的内容在 gridview 上显示所选项目

SELECT 
    CustomerName, CustomerName,
FROM 
    Orders 
INNER JOIN
    OrderDetails ON Orders.ID = OrderDetails.OrderRef
WHERE 
    ID = @.orderRef

【问题讨论】:

    标签: asp.net sql c#-4.0


    【解决方案1】:

    要从数据库中选择所有详细信息和所有订单详细信息,您需要更改查询

    在您的DropDownList.SelectedIndexChanged 上调用以下函数

    protected void GetOrders(int OrderID = 0)
    {
    // Connection objects defined here
    
    // Get the order details
    if (OrderID == 0) {
        string sql = "SELECT * FROM OrderDetails";
    } else {
        string sql = "SELECT * FROM OrderDetails WHERE OrderID = " + OrderID;
    }
    
    DataSet ds = null;
    SqlDataAdapter da = new default(SqlDataAdapter);
    // check this, it might be a SqlTableAdapter
    
    da.SelectCommand = new SqlCommand(System.Data.sql, conn);
    da.Fill(ds);
    
    gvOrderDetails.DataSource = ds;
    gvOrderDetails.DataBind();
    }
    

    这只是获取您的一个 Gridview 的数据(在 DataSet 中,因此您可以在需要时对 GridView 进行分页)。

    您也可以复制此过程以获取 CustomerDetails。

    上面的代码假设你在 DropDownList 中的 ALL 项目的值设置为 0。

    所以如果你的 DropDownList 被称为 ddlOrders,调用过程如下:

    protected void ddlOrders_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    GetOrders(ddlOrders.SelectedItem.Value);
    }
    

    GetCustomers 也是如此。

    这些将使用与特定 OrderID 或所有订单匹配的行填充 GridView。

    希望对你有帮助

    【讨论】:

    • da.SelectCommand = new SqlCommand(System.Data.sql, conn);说对象引用未设置为对象的实例,但我确实在数据库中有数据并且有一个链接
    • 抱歉,将数据适配器声明为new。我会修改代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 2010-09-26
    • 2019-02-15
    • 1970-01-01
    相关资源
    最近更新 更多