无法在 Gridview ASP.Net 中填充 DropDownList

问题描述

我遇到的问题是,首先,每当我按下编辑按钮时,行类型和状态都会读取“标题”和“正常”(我希望它读取“DaTarow”和“编辑”)。其次,我无法使用其 id 选择我的下拉列表。 ddl 的值始终为 null。

.aspx 页面

    <div style="overflow: scroll">
          <asp:GridView ID="gvLines" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#336666" BorderStyle="Double"
            BorderWidth="3px" CellPadding="4" GridLines="Horizontal" OnRowUpdating="OnRowUpdating" OnRowCancelingEdit="OnRowCancelingEdit" OnRowEditing="OnRowEditing" OnRowCommand="gvLines_RowCommand" DataKeyNames="dplnID"
            Width="1200px" OnRowDataBound="gvLines_RowDataBound">
            <Columns>
              <asp:BoundField datafield="dplnID" Visible="False" />

              <asp:BoundField datafield="dplnStopID" HeaderText="Stop" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%" >
                <HeaderStyle HorizontalAlign="Center" />
                <ItemStyle HorizontalAlign="Center" Width="5%" />
                </asp:BoundField>
              <asp:BoundField datafield="dplnStopType" HeaderText="Type" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%" >
                <HeaderStyle HorizontalAlign="Center" />
                <ItemStyle HorizontalAlign="Center" Width="5%" />
                </asp:BoundField>
              <asp:TemplateField HeaderText="Site">
                  <EditItemTemplate>
                      <asp:DropDownList id="ddlSite" runat="server"  Text='<%# Bind("dpstCode") %>'> 
                      </asp:DropDownList>
                  </EditItemTemplate>
                  <ItemTemplate>
                      <asp:Label ID="Label1" runat="server" Text='<%# Bind("dpstCode") %>'> 
                      </asp:Label>
                  </ItemTemplate>
                  <HeaderStyle HorizontalAlign="Center" />
                  <ItemStyle HorizontalAlign="Center" Width="8%" />
              </asp:TemplateField>

.aspx.cs 页面

protected void gvLines_RowDataBound(object sender,GridViewRowEventArgs e)
   {
       if (e.Row.RowType == DataControlRowType.DaTarow)
       {
           if ((e.Row.RowState & DataControlRowState.Edit) > 0)
           {
               DropDownList ddl = (DropDownList)e.Row.FindControl("ddlSite");

               DataTable site = new DataTable();

               using (sqlConnection con = new 
               sqlConnection(WebConfigurationManager.ConnectionStrings["ToshDB"].ConnectionString))
               {

                   try
                   {
                       sqlDataAdapter adapter = new sqlDataAdapter("SELECT * FROM dpSite",con);
                       adapter.Fill(site);

                       ddl.DataSource = site;
                       ddl.DataTextField = "dpstName";
                       ddl.DataValueField = "dpstCode";
                       ddl.DataBind();
                   }
                   catch (Exception ex)
                   {
                       // Handle the error
                   }

               }
           }
       
       }
       
   }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)