【问题标题】:How to display Gridview data based on Dropdown selection that exists on the Gridview itself?如何根据 Gridview 本身存在的下拉选择显示 Gridview 数据?
【发布时间】:2014-11-26 18:36:52
【问题描述】:

我有类似的数据

计划   选项   价值
计划 1    选项 1    10
计划 1    选项 2    20
计划 2    选项 1    50
计划 2    选项 2    70
计划 3                    99

我想要一个 GridView 来对类似的计划进行分组,并有一个显示选项的下拉菜单。选择一个选项将在第三列中显示不同的值。

计划   |带有 [option1] 和 [option2] 的下拉菜单)由下拉选择驱动的值。

最好的方法是什么?

我希望我很清楚。 谢谢!

【问题讨论】:

    标签: c# sql asp.net .net visual-studio


    【解决方案1】:

    你的 aspx 文件

    <asp:GridView ID="GridView1"  AutoGenerateColumns="false" runat="server">
        <Columns>
            <asp:BoundField DataField="Plan" HeaderText="PLAN" />
            <asp:TemplateField HeaderText="OPTION">                    
                <ItemTemplate>
                    <asp:DropDownList ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" runat="server">
                        <asp:ListItem Value="-1">select</asp:ListItem>
                        <asp:ListItem Value="1">Option1</asp:ListItem>
                        <asp:ListItem Value="2">Option2</asp:ListItem>
                    </asp:DropDownList>
                </ItemTemplate>
            </asp:TemplateField>
             <asp:TemplateField HeaderText ="VALUE">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                </ItemTemplate>
                 </asp:TemplateField>
        </Columns>
    </asp:GridView>
    

    您的 aspx.cs 文件

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) CreateTable();        
    }
    public void CreateTable()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("Plan", typeof(string)));
        dt.Rows.Add("Plan1");
        dt.Rows.Add("Plan1");
        dt.Rows.Add("Plan2");
        dt.Rows.Add("Plan2");
        dt.Rows.Add("Plan3");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    
    } 
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList drp1 = (DropDownList)sender;
        Label lbl = new Label();
        GridViewRow grow = (GridViewRow)(drp1).Parent.Parent;
        lbl = (Label)grow.FindControl("Label1");
        lbl.Text = "bind  " + drp1.SelectedItem.Text + "  value here";      
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多