Gridview 更新功能中的下拉框 ASP.NET
Dropdown Box Inside Gridview Update Feature ASP.NET
所以我的网页中有一个 gridview,目前 table returns 值来自 SQL table.
在我的 table 中,我有 'Allowed Editing/Updates' 正在从网页的 gridview 更新我的 SQL table 中的值,
此功能运行良好,我唯一的问题是......在 gridview 的其中一列中,我希望可以选择
Select 来自下拉框(与像其他列一样在文本框中键入相反),
下拉框将链接到我在SQL中的列表,我尝试了各种技术并无休止地搜索
在线尝试这样做,但我没有运气,
我想知道是否可以得到一些帮助....
提前谢谢你。
这是我目前的 gridview 的 aspx 代码:
<asp:GridView ID="GridView2" runat="server" DataKeyNames="ID" AutoGenerateColumns="False" border="1" DataSourceID="SqlDataSource3" style="font-size: 0.9em; margin-left: 2%;" Width="85%">
<Columns>
<asp:BoundField DataField="contactName" HeaderText="contactName" SortExpression="contactName">
</asp:BoundField>
<asp:BoundField DataField="contactEmail" HeaderText="contactEmail" SortExpression="contactEmail">
</asp:BoundField>
<asp:BoundField DataField="Telephone" HeaderText="Telephone" SortExpression="Telephone">
</asp:BoundField>
<asp:BoundField DataField="jobRole" HeaderText="jobRole" SortExpression="jobRole">
</asp:BoundField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
<br />
<asp:SqlDataSource ID="SqlDataSource3"
runat="server" ConnectionString="<%$ ConnectionStrings:saleConnectionString %>"
DeleteCommand="Delete from IMContactEmails where ID = @ID"
SelectCommand="SELECT contactName, contactEmail, Telephone, jobRole, ID FROM
IMContactEmails WHERE
(ProjectNo = @PID)" UpdateCommand="Update IMContactEmails Set
contactName=@contactName,contactEmail=CASE WHEN
@contactEmail IS NULL THEN contactEmail Else @contactEmail END,Telephone=CASE
WHEN
@Telephone IS NULL THEN Telephone ELSE @Telephone END,jobRole=CASE WHEN
@jobRole IS NULL THEN jobRole ELSE @jobRole END where ID=@ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="String" />
</DeleteParameters>
<SelectParameters>
<asp:ControlParameter
ControlID="PIDvalTextBox" Name="PID" PropertyName="Text" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="contactName" />
<asp:Parameter Name="contactEmail" />
<asp:Parameter Name="Telephone" />
<asp:Parameter Name="jobRole" />
<asp:Parameter Name="ID" />
</UpdateParameters>
</asp:SqlDataSource>
更新:
这是我的带有 TemplateField 的列中的代码
<asp:GridView ID="GridView2" runat="server" DataKeyNames="ID" AutoGenerateColumns="False" border="1" DataSourceID="SqlDataSource3" style="font-size: 0.9em; margin-left: 2%;" Width="85%">
<Columns>
<asp:BoundField DataField="contactName" HeaderText="contactName" SortExpression="contactName">
</asp:BoundField>
<asp:BoundField DataField="contactEmail" HeaderText="contactEmail" SortExpression="contactEmail">
</asp:BoundField>
<asp:BoundField DataField="Telephone" HeaderText="Telephone" SortExpression="Telephone">
</asp:BoundField>
<asp:TemplateField HeaderText="jobRole">
<EditItemTemplate>
<asp:DropDownList ID="DDLjobRole" runat="server"
DataSourceID="SqlDataSource1" DataTextField="jobRole" DataValueField="jobRole"
SelectedValue='<%# Bind("jobRole")%>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
在您的专栏中添加一个 TemplateField
并在其中添加一个下拉列表。
<asp:TemplateField HeaderText="Name">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="SqlDataSource1"
DataTextField="Name" DataValueField="Name"
SelectedValue='<%# Bind("Name") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text=''<%# Bind("Name") %>''
</ItemTemplate>
</asp:TemplateField>
添加 sql 数据源并编写查询以绑定您的下拉列表,如下所示:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Your connection string"
SelectCommand="SELECT Name FROM dbo.Table"></asp:SqlDataSource>
试试吧。希望对你有帮助。
所以我的网页中有一个 gridview,目前 table returns 值来自 SQL table.
在我的 table 中,我有 'Allowed Editing/Updates' 正在从网页的 gridview 更新我的 SQL table 中的值, 此功能运行良好,我唯一的问题是......在 gridview 的其中一列中,我希望可以选择 Select 来自下拉框(与像其他列一样在文本框中键入相反),
下拉框将链接到我在SQL中的列表,我尝试了各种技术并无休止地搜索 在线尝试这样做,但我没有运气,
我想知道是否可以得到一些帮助....
提前谢谢你。 这是我目前的 gridview 的 aspx 代码:
<asp:GridView ID="GridView2" runat="server" DataKeyNames="ID" AutoGenerateColumns="False" border="1" DataSourceID="SqlDataSource3" style="font-size: 0.9em; margin-left: 2%;" Width="85%">
<Columns>
<asp:BoundField DataField="contactName" HeaderText="contactName" SortExpression="contactName">
</asp:BoundField>
<asp:BoundField DataField="contactEmail" HeaderText="contactEmail" SortExpression="contactEmail">
</asp:BoundField>
<asp:BoundField DataField="Telephone" HeaderText="Telephone" SortExpression="Telephone">
</asp:BoundField>
<asp:BoundField DataField="jobRole" HeaderText="jobRole" SortExpression="jobRole">
</asp:BoundField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
<br />
<asp:SqlDataSource ID="SqlDataSource3"
runat="server" ConnectionString="<%$ ConnectionStrings:saleConnectionString %>"
DeleteCommand="Delete from IMContactEmails where ID = @ID"
SelectCommand="SELECT contactName, contactEmail, Telephone, jobRole, ID FROM
IMContactEmails WHERE
(ProjectNo = @PID)" UpdateCommand="Update IMContactEmails Set
contactName=@contactName,contactEmail=CASE WHEN
@contactEmail IS NULL THEN contactEmail Else @contactEmail END,Telephone=CASE
WHEN
@Telephone IS NULL THEN Telephone ELSE @Telephone END,jobRole=CASE WHEN
@jobRole IS NULL THEN jobRole ELSE @jobRole END where ID=@ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="String" />
</DeleteParameters>
<SelectParameters>
<asp:ControlParameter
ControlID="PIDvalTextBox" Name="PID" PropertyName="Text" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="contactName" />
<asp:Parameter Name="contactEmail" />
<asp:Parameter Name="Telephone" />
<asp:Parameter Name="jobRole" />
<asp:Parameter Name="ID" />
</UpdateParameters>
</asp:SqlDataSource>
更新:
这是我的带有 TemplateField 的列中的代码
<asp:GridView ID="GridView2" runat="server" DataKeyNames="ID" AutoGenerateColumns="False" border="1" DataSourceID="SqlDataSource3" style="font-size: 0.9em; margin-left: 2%;" Width="85%">
<Columns>
<asp:BoundField DataField="contactName" HeaderText="contactName" SortExpression="contactName">
</asp:BoundField>
<asp:BoundField DataField="contactEmail" HeaderText="contactEmail" SortExpression="contactEmail">
</asp:BoundField>
<asp:BoundField DataField="Telephone" HeaderText="Telephone" SortExpression="Telephone">
</asp:BoundField>
<asp:TemplateField HeaderText="jobRole">
<EditItemTemplate>
<asp:DropDownList ID="DDLjobRole" runat="server"
DataSourceID="SqlDataSource1" DataTextField="jobRole" DataValueField="jobRole"
SelectedValue='<%# Bind("jobRole")%>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
在您的专栏中添加一个 TemplateField
并在其中添加一个下拉列表。
<asp:TemplateField HeaderText="Name">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="SqlDataSource1"
DataTextField="Name" DataValueField="Name"
SelectedValue='<%# Bind("Name") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text=''<%# Bind("Name") %>''
</ItemTemplate>
</asp:TemplateField>
添加 sql 数据源并编写查询以绑定您的下拉列表,如下所示:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Your connection string"
SelectCommand="SELECT Name FROM dbo.Table"></asp:SqlDataSource>
试试吧。希望对你有帮助。