【问题标题】:Show dropdown selected value in the grid on the same page在同一页面的网格中显示下拉选择的值
【发布时间】:2012-09-10 13:34:43
【问题描述】:

我有一个下拉列表,其中包含代表列表。当用户选择一个代表时,我使用第一个下拉列表的 selectedindexchange 事件在第二个下拉列表中填充可用的会议时间 aspx 页面

<asp:DropDownList ID="delegate_ddl" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddldelegates_SelectedIndexChanged" Width="200px"></asp:DropDownList>
<asp:DropDownList ID="delegatetime_ddl" runat="server" Width="90px"></asp:DropDownList>
<asp:Button ID="adddelegate" runat="server" Text="Add" onclick="adddelegate_Click"/>

.cs 页面

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataSet ds1 = getdata.getdelegatelist();
                delegate_ddl.DataSource = ds1.Tables[0];
                delegate_ddl.DataTextField = "DELEGATE_NAME";
                delegate_ddl.DataValueField = "DELEGATE_ID";
                delegate_ddl.DataBind();
                delegate_ddl.Items.Insert(0, "--Select--"); 
            }

        }
        protected void ddldelegates_SelectedIndexChanged(object sender, EventArgs e)
        {
            string delselection = delegate_ddl.SelectedValue.ToString();
            DataSet ds2 = getdata.getdelegatetimelist(delselection);
            if (ds2.Tables[0].Rows.Count > 0)
            {
                delegatetime_ddl.DataSource = ds2.Tables[0];
                delegatetime_ddl.DataTextField = "TIMESLOT";
                delegatetime_ddl.DataValueField = "TIMEID";
                delegatetime_ddl.DataBind();
            }
            else
            {
                time_lbl.Text = "No slots Open";
            }
        }
        protected void adddelegate_Click(object sender, EventArgs e)
        {
            string delegateselected = delegate_ddl.SelectedValue.ToString();
            string timeslotselected = delegatetime_ddl.SelectedValue.ToString();
            getdata.delegatemeetinsert(personidd, delegateselected, timeslotselected);
        }

现在数据被插入了——但我的问题是 一旦用户单击添加按钮,我想在下面的某种网格视图或动态表中显示选择的委托和选择的时隙,并带有删除选项。 有人可以提供 C# 中的代码示例来实现上述目标

【问题讨论】:

    标签: c# asp.net gridview drop-down-menu asprepeater


    【解决方案1】:

    不要使用 Gridview 来显示数据,而是使用一些基本的控件,如标签,它会减少很多不必要的代码。使用 Asp.net 'Panel' 控件并将所有标签和按钮(用于删除目的)封装到 Panel 中,然后根据需要隐藏/显示。这是可能对您有所帮助的代码大纲,

    if(!page.IsPostBack) // This goes into Page_Load
    {
    Panel1.Visible=false;
    }
    
    protected void adddelegate_Click(object sender, EventArgs e)   // add this additional code
    {
    Panel.Visible=True;
    GetDelegate()// This method retrieve the delegate you inserted..
    Lable1.Text= "Set here Delegate name you just Retrieved"
    Label2.Text="Delegate time you retrived"
    }
    
    protected void BtnRemovedelegate_Click(object sender, EventArgs e)
    
    {
    string Personidd= retrieve person id
    string delegateName= Lable1.text;
    String timeslot=Label2.Text
    SomeDeleteMethod(personidd, delegateName, timeslot); 
    Panel1.Visible=false;
    }
    

    希望你能明白..

    【讨论】:

    • 嗨,我真的很喜欢这个主意。但我如何添加多行。用户可以选择多个代表。您展示的示例适用于一行,但我如何为多行添加 - 您能否展示一些示例代码
    • 我以为你只想显示新插入的记录。但如果你想显示多条记录,你可以使用网格。您只需要将面板中的标签和按钮替换为 Grid。
    猜你喜欢
    • 2021-02-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多