1

私のasp.netアプリケーションは現在、Telerik RadGridを使用して製品データを表示しています。ページの上部に、4 つの異なるカテゴリを含むドロップダウン リストがあります。ユーザーが選択したカテゴリに基づいて、グリッドのチェックボックスがオンまたはオフになります。Web サイトの 1500 の製品は常にグリッドに表示されます。変化するのはチェックボックスです。

例: 製品 1 はカテゴリ A にあるため、ユーザーがドロップダウンでカテゴリ B をクリックすると、製品 1 の横のチェックボックスがオフになります。チェックされる唯一の方法は、ユーザーがドロップダウンを変更して、現在カテゴリ A にある製品を表示する場合です。

これにアプローチする方法を理解するのに苦労しています。1 つは、if (ProductInMarket.Checked = true) throws an error saying「The name ProductInMarket' does not exist in the current context.」という行です。2 つ目の問題は、UpdateMarket メソッドを終了する方法がわからないことです。コーディングの途中で昼食を取ると、それが起こります。:/

これは私がこれまでに持っているものであり、ここで何か助けていただければ幸いです.

<asp:DropDownList ID="MarketDropDownList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="MarketDropDownList_SelectedIndexChanged" AppendDataBoundItems="true">
 </asp:DropDownList>


<telerik:GridTemplateColumn AllowFiltering="true" HeaderText="Product ID" UniqueName="productid" ReadOnly="true">
 <HeaderTemplate>
   <asp:CheckBox ID="headerCheck" runat="server"                                      onClick="javascript:SelectDeselectAllCheckboxes(this);" />
 </HeaderTemplate>
 <ItemTemplate>
     <asp:Checkbox ID="ProductInMarket" runat="server" />
     <asp:HiddenField runat="server" ID="ProductID" />
  </ItemTemplate>
  </telerik:GridTemplateColumn>



private void UpdateMarket(string MarketID)
    {
        //add products to market when checked
        if (ProductInMarket.Checked = true)
        {
            string strConn = ConfigurationManager.ConnectionStrings["DBConnectingString"].ToString();
            using (SqlConnection con = new SqlConnection(strConn))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "UPDATE table SET ProductID = @ProductID WHERE MarketID = @MarketID";
                 }
             }
         }
     }
4

2 に答える 2

0
<asp:DropDownList ID="MarketDropDownList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="MarketDropDownList_SelectedIndexChanged" AppendDataBoundItems="true">
 </asp:DropDownList>


<telerik:GridTemplateColumn AllowFiltering="true" HeaderText="Product ID" UniqueName="productid" ReadOnly="true">
 <HeaderTemplate>
   <asp:CheckBox ID="headerCheck" runat="server"                                      onClick="javascript:SelectDeselectAllCheckboxes(this);" />
 </HeaderTemplate>
 <ItemTemplate>
     <asp:Checkbox ID="ProductInMarket" runat="server" />
     <asp:HiddenField runat="server" ID="ProductID" />
  </ItemTemplate>
  </telerik:GridTemplateColumn>



private void UpdateMarket(string MarketID)
    {
        //add products to market when checked
        if (ProductInMarket.Checked = true)
        {
            string strConn = ConfigurationManager.ConnectionStrings["DBConnectingString"].ToString();
            using (SqlConnection con = new SqlConnection(strConn))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "UPDATE table SET ProductID = @ProductID WHERE MarketID = @MarketID";
                 }
             }
         }
     }

これを試して

jsfiddle

于 2013-11-28T21:25:01.057 に答える