首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选中网格视图内的asp .net复选框

问选中网格视图内的asp .net复选框
EN

Stack Overflow用户
提问于 2011-07-06 04:34:42
回答 1查看 2.4K关注 0票数 1

我有一个主'Products‘表和一个'Products_Recommended’表。我希望用户能够使用复选框从GridView中选择多个产品,然后将这些产品ID (prodid)插入到Products_Recommended表中,以便输入一个主要产品ID(来自查询字符串),并可能输入几个推荐的ProdIDs。到目前一切尚好。但我需要能够显示要选中的复选框,如果之前在Products_Recommended表中已经有产品。下面的代码显示了一个“sqldatasource1”,它根据查询字符串从Products_Recommended表中获取数据。我只是不知道如何才能选中这些复选框,因为GridView有一个不同的sqldatasource绑定它。谢谢!Meengla

代码语言:javascript
复制
  <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>
EN

回答 1

Stack Overflow用户

发布于 2011-07-06 04:44:47

处理RowDataBound事件,并在方法find the checkbox中设置其Checked值。

代码语言:javascript
复制
<asp:GridView ID="Products" OnRowDataBound="GridViewRowEventHandler">

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
  if(e.Row.RowType == DataControlRowType.DataRow)
  {
    var ProductSelector = e.Row.FindControl("ProductSelector") as CheckBox;
    ProductSelector.Checked = true;
  }
}

您可以使用DataSource的Select方法检索所需的数据

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6588551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档