簡體   English   中英

使用頁腳模板在C#中的GridView中添加新行

[英]Using the Footer Template for add new rows in GridView in c#

我正在使用頁腳模板在GridView中添加新行。

在頁腳模板中,我有三個DropDownList。

在DropDownList DZ_DDL我具有以下值:

ZA
ZF
ZG
ZL
ZM
ZVR
ZTR

在DropDownList M_DDL我具有以下值:

Z
ZVR
ZTR

我需要檢查一下:

  • 如果在下拉列表DZ_DDL選擇的值為ZA或ZF或ZG或ZL或ZM,則需要在下拉列表M_DDL禁用值ZVR和ZTR。
  • 如果在下拉列表DZ_DDL選擇的值為ZVR,則需要在下拉列表M_DDL禁用值Z和ZTR。
  • 如果在下拉列表DZ_DDL選擇的值為ZTR,則需要在下拉列表M_DDL禁用值Z和ZVR。

你能解釋一下怎么做嗎?

我的代碼如下:

if (e.Row.RowType == DataControlRowType.Footer)
{
    DropDownList DZ_DDL = (DropDownList)e.Row.FindControl("DZ_DDL");
    DropDownList Level_DDL = (DropDownList)e.Row.FindControl("Level_DDL");
    DropDownList M_DDL = (DropDownList)e.Row.FindControl("M_DDL");

    sql1 = " SELECT ....; ";
    OdbcCommand cmd = new OdbcCommand(sql1);
    DZ_DDL.DataSource = GetData(cmd);
    DZ_DDL.DataTextField = "name";
    DZ_DDL.DataValueField = "name";
    DZ_DDL.DataBind();


    sql2 = " SELECT ....; ";
    OdbcCommand cmd2 = new OdbcCommand(sql2);
    Level_DDL.DataSource = GetData(cmd2);
    Level_DDL.DataTextField = "PZA";
    Level_DDL.DataValueField = "PZA";
    Level_DDL.DataBind();


    sql3 = " SELECT ....; ";
    OdbcCommand cmd3 = new OdbcCommand(sql3);
    M_DDL.DataSource = GetData(cmd3);
    M_DDL.DataTextField = "Name";
    M_DDL.DataValueField = "Name";
    M_DDL.DataBind();
}

ASPX代碼

<div>
        <asp:ScriptManager ID="SM" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel" runat="server">
            <ContentTemplate>

  <asp:DropDownList ID="DZ_DDL" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DZ_DDL_SelectedIndexChanged" OnTextChanged="DZ_DDL_TextChanged" ViewStateMode="Enabled">
                    <asp:ListItem Value="ZA">ZA</asp:ListItem>
                    <asp:ListItem Value="ZF" Enabled="true">ZF</asp:ListItem>
                    <asp:ListItem Value="ZG">ZG</asp:ListItem>
                    <asp:ListItem Value="ZL">ZL</asp:ListItem>
                    <asp:ListItem Value="ZM">ZM</asp:ListItem>
                    <asp:ListItem Value="ZVR">ZVR</asp:ListItem>
                    <asp:ListItem Value="ZTR">ZTR</asp:ListItem>
                </asp:DropDownList>

                <asp:DropDownList ID="M_DDL" runat="server">
                    <asp:ListItem>Z</asp:ListItem>
                    <asp:ListItem>ZVR</asp:ListItem>
                    <asp:ListItem>ZTR</asp:ListItem>
                </asp:DropDownList>
            </ContentTemplate>
            <Triggers>
                 <asp:AsyncPostBackTrigger ControlID="DZ_DDL" EventName="SelectedIndexChanged" />
            </Triggers>
        </asp:UpdatePanel>
    </div>

CS代碼

 protected void DZ_DDL_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
                DropDownList DZ_DDL = (DropDownList)this.FindControl("DZ_DDL");
                //DropDownList Level_DDL = (DropDownList)this.FindControl("Level_DDL");
                DropDownList M_DDL = (DropDownList)this.FindControl("M_DDL");

                string str = DZ_DDL.SelectedValue.ToString();
                if (str == "ZA" || str == "ZF" || str == "ZG" || str == "ZL" || str == "ZL")
                {
                    ListItem i = M_DDL.Items.FindByValue("ZVR");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");

                    i = M_DDL.Items.FindByValue("ZTR");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");
                }
                else if (str == "ZVR")
                {
                    ListItem i = M_DDL.Items.FindByValue("Z");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");

                    i = M_DDL.Items.FindByValue("ZTR");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");
                }

                else if (str == "ZTR")
                {
                    ListItem i = M_DDL.Items.FindByValue("Z");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");

                    i = M_DDL.Items.FindByValue("ZVR");
                    i.Attributes.Add("style", "color:gray;");
                    i.Attributes.Add("disabled", "true");
                }
            }
        catch(Exception ex)
        {

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM