【发布时间】:2011-07-05 20:34:41
【问题描述】:
我有一个主“产品”表和一个“产品推荐”表。我希望用户能够使用复选框从 GridView 中选择多个产品,然后将这些产品 ID(prodid)插入 Products_Recommended 表中,以便输入主要产品 ID(来自查询字符串)并可能推荐几个输入 ProdID。到现在为止还挺好。 但是,如果之前 Products_Recommended 表中已经有产品,我需要能够显示要检查的复选框。 下面的代码显示了一个“sqldatasource1”,它根据查询字符串从 Products_Recommended 表中获取数据。我只是不知道如何检查复选框,因为 GridView 有一个不同的 sqldatasource 绑定它。 谢谢! 勐腊
<form id="form1" runat="server">
<asp:GridView ID="Products" runat="server" AutoGenerateColumns="False" DataKeyNames="prodid"
DataSourceID="alldata" EnableModelValidation="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ProductSelector" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="itemnumber" HeaderText="Item Number" SortExpression="itemnumber" />
<asp:BoundField DataField="itemtitle" HeaderText="itemtitle" SortExpression="itemtitle" />
</Columns>
</asp:GridView>
<p>
<asp:Button ID="SelectedProducts" runat="server" Text="Recommend" OnClick="SelectedProducts_Click" />
</p>
<p>
<asp:Label ID="lblProdSelected" runat="server" EnableViewState="False" Visible="False"></asp:Label>
</p>
<asp:SqlDataSource ID="alldata" runat="server" ConnectionString="<%$ ConnectionStrings:dbconnection %>"
SelectCommand="SELECT * FROM Products">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="14" Name="itemid" QueryStringField="itemid"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:dbconnection %>"
SelectCommand="SELECT * FROM dbo.products_recommended WHERE prodid = @itemid)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="14" Name="itemid" QueryStringField="itemid"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
【问题讨论】: