ASPNet下拉列表从0到可用数量

时间:2017-11-06 01:08:37

标签: mysql sql asp.net

我正在为类分配创建一个webform,它基本上允许您选择从0到每个产品可用量的数量。我们使用AdventureWorks 2014作为我们的数据源。

然而,它仅显示最大数量,而不是0到最大数量。

我只是坚持要添加的内容,因此它可以显示0到最大数量。谢谢。

我对后面的代码没有任何意义,它只是基本的:

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnOrder_Click(object sender, EventArgs e)
    {

    }

    protected void ddlQuantity_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}

1 个答案:

答案 0 :(得分:0)

您可以通过处理SelectedIndexChanged中的ddlProductName事件来填充ddlQuantity项来执行绑定:

<强> ASPX

<asp:DropDownList ID="ddlProductName" runat="server" AutoPostBack="True" DataSourceID="ddlProductNameitems" DataTextField="Name" DataValueField="Name"
                  OnSelectedIndexChanged="ddlProductName_SelectedIndexChanged">
</asp:DropDownList>

<asp:DropDownList ID="ddlQuantity" runat="server" AutoPostBack="True" ...></asp:DropDownList>

然后使用List集合存储从SUM查询设置的0到最大值的所有数字,然后将List绑定到上面给出的DropDownList事件中的SelectedIndexChanged:< / p>

ASPX.cs(代码隐藏)

protected void ddlProductName_SelectedIndexChanged(object sender, EventArgs e)
{
    List<string> quantities = new List<string>();
    int maxQuantity = 0;

    // retrieve SUM result from SqlDataSource
    // if 'DataSourceSelectArguments.Empty' doesn't work, try other 'DataSourceSelectArguments' options
    DataView view = QuantityChoices.Select(DataSourceSelectArguments.Empty) as DataView;

    // set maximum quantity from SUM query result
    if (view != null)
    {
        maxQuantity = int.Parse(view.Table.Rows[0]["TotalInventory"].ToString());
    }
    else
    {
        // assign maxQuantity from SqlConnection here
    }

    // add every quantity amount to the list...
    for (int i = 0; i <= maxQuantity; i++)
    {
        quantities.Add(i.ToString());
    }

    // ... then sort from least value...
    quantities.Sort();

    // ... and bind the list here!
    ddlQuantity.DataSource = quantities;
    ddlQuantity.DataBind();        
}

注意:应添加System.Data命名空间以使用DataView组件。请注意,可能需要删除DataSourceIDDataTextField&amp;来自DataValueField的{​​{1}}与生成的数量列表绑定相应的ddlQuantity