如何解决无法在 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 举报,一经查实,本站将立刻删除。