locked
How to run update command based all checked check boxes in dropdownlist RRS feed

  • Question

  • User945338570 posted

    hi,

    I have used telerik radcombox box with checkboxes in asp data grid. Rad combox have some values.

    All I want to update the checked items of rad combobox in database of each row on single button click.

    Here is the screenshot:

    ASPX CODE:

    <asp:DataGrid ID="DG_SKULayout" runat="server" AutoGenerateColumns="False" Width="100%"
                        AllowSorting="True" AllowPaging="True" CellPadding="3" CellSpacing="0" CssClass="Control_Table"
                        PageSize="20" ShowFooter="true" DataKeyField="attribute_id">
                        <AlternatingItemStyle CssClass="Grid_Alternate_Item" VerticalAlign="Top"></AlternatingItemStyle>
                        <ItemStyle CssClass="Grid_Item" VerticalAlign="Top"></ItemStyle>
                        <HeaderStyle Wrap="False" CssClass="Control_Header"></HeaderStyle>
                        <Columns>
                            <asp:TemplateColumn HeaderText="Include">
                                <ItemStyle Width="200" />
                                <ItemTemplate>
                                    <asp:CheckBox ID="is_include" Checked='<%# IIf(Eval("is_sku_include") = "1", "True","False" )%>'
                                        runat="server" />
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Attribute Name">
                                <ItemStyle Width="200" />
                                <ItemTemplate>
                                    <asp:Label ID="lbl_Attribute_Name_sku" Text='<%#Eval("name")%>' runat="server"> </asp:Label>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Prefix">
                                <ItemStyle Width="200" />
                                <ItemTemplate>
                                    <asp:TextBox ID="txt_sku_prefix" runat="server" Text='<%#Eval("sku_prefix") %>'></asp:TextBox>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Suffix">
                                <ItemStyle Width="200" />
                                <ItemTemplate>
                                    <asp:TextBox ID="txt_sku_suffix" runat="server" Text='<%#Eval("sku_sufix") %>'></asp:TextBox>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                            <asp:TemplateColumn HeaderText="Hide">
                                <ItemStyle Width="200" />
                                <ItemTemplate >
                                    <telerik:RadComboBox ID="RadComboBox1" runat="server" CheckBoxes="true"   
                                        Width="300">
                                  </telerik:RadComboBox>
                                </ItemTemplate>
                            </asp:TemplateColumn>
                        </Columns>
                        <PagerStyle HorizontalAlign="Right" CssClass="Paging" Mode="NumericPages"></PagerStyle>
                    </asp:DataGrid>

    Code Behind:

       Private Sub BindAttributeAssingmentGrid()
    
                Dim dt As New DataTable
    
                dt = SqlHelper.ExecuteDatatable("SELECT ISNULL(A.attribute_id, 0) AS attribute_id,ISNULL(A.name, '') AS name,ISNULL(A.is_mandatory, 0) AS is_mandatory FROM pc_attributes A ORDER BY A.Name")
    
                Me.DG_AttributeAssingment.DataSource = dt
                Me.DG_AttributeAssingment.DataBind()
    
                dt.Dispose()
    
            End Sub
    
            Private Sub BindSKULayoutGrid()
    
                Dim dt As New DataTable
    
                dt = SqlHelper.ExecuteDatatable("SELECT ISNULL(A.name, '') AS name,ISNULL(A.is_attribute, 0) AS is_attribute,ISNULL(A.sku_prefix, '') AS sku_prefix,ISNULL(A.sku_sufix, '') AS sku_sufix,ISNULL(A.title_prefix, '') AS title_prefix,ISNULL(A.title_sufix, '') AS title_sufix,ISNULL(A.is_sku_include, 0) AS is_sku_include,ISNULL(A.is_title_include, 0) AS is_title_include,ISNULL(A.is_title_include, 0) AS is_title_include,ISNULL(A.is_title_include, 0) AS is_title_include,ISNULL(A.attribute_id, 0) AS attribute_id FROM pc_attributes A")
    
                Me.DG_SKULayout.DataSource = dt
                Me.DG_SKULayout.DataBind()
    
                dt.Dispose()
    
            End Sub
            Protected Sub DG_SKULayout_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DG_SKULayout.ItemDataBound
                If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
                    Dim attr_id As Integer = DG_SKULayout.DataKeys(e.Item.ItemIndex)
                    'Response.Write(attr_id)
                    Dim dt_atribvalues As New DataTable
                    dt_atribvalues = SqlHelper.ExecuteDatatable("Select ISNULL(A.attribute_value_id, 0) AS attribute_value_id, ISNULL(A.attribute_id, 0) AS attribute_id, ISNULL(A.name, '') AS name, ISNULL(A.is_hidden_sku, 0) AS is_hidden_sku,ISNULL(A.is_hidden_title, 0) AS is_hidden_title from pc_attribute_values A where attribute_id=" & attr_id)
                    'Dim ddl As RadComboBox = CType(e.Item.Cells(4).FindControl("RadComboBox1"), RadComboBox)
                    Dim ddl As RadComboBox = CType(e.Item.FindControl("RadComboBox1"), RadComboBox)
                    ' Response.Write(dt_atribvalues.Rows.Count)
                    ddl.DataSource = dt_atribvalues
                    ddl.DataTextField = "name"
                    ddl.DataValueField = "attribute_value_id"
                    ddl.DataBind()
                End If
               
            End Sub
    
            Private Sub ShowCheckedItems()
                Dim str As String
                For i As Integer = 0 To DG_SKULayout.Items.Count - 1
                    If DG_SKULayout.Items(i).ItemType = ListItemType.AlternatingItem Or DG_SKULayout.Items(i).ItemType = ListItemType.Item Then
                        'Dim attr_id As Integer = DG_SKULayout.DataKeys(i)
                        Dim combobox As New RadComboBox
                        Dim ddl As RadComboBox = CType(DG_SKULayout.Items(i).FindControl("RadComboBox1"), RadComboBox)
                        For Each li As ListItem In ddl.Items
                            If li.Selected Then
                                Dim attr_value_id = li.Value
                                str = SqlHelper.ExecuteScalar("Update pc_attribute_values set is_hidden_sku = 1 where attribute_value_id=" & attr_value_id)
                                'Response.Write("Update pc_attribute_values set is_hidden_sku = 1 where attribute_value_id=" & attr_value_id)
                            End If
                        Next
                    End If
    
                Next
                'Dim sb As New StringBuilder()
                'Dim ComboBox As New RadComboBox
                'Dim collection As IList(Of RadComboBoxItem) = ComboBox.CheckedItems
    
                'Dim dt_atribvalues As New DataTable
                ''dt_atribvalues = SqlHelper.ExecuteDatatable("Select ISNULL(A.attribute_value_id, 0) AS attribute_value_id, ISNULL(A.attribute_id, 0) AS attribute_id, ISNULL(A.name, '') AS name, ISNULL(A.is_hidden_sku, 0) AS is_hidden_sku,ISNULL(A.is_hidden_title, 0) AS is_hidden_title from pc_attribute_values A where attribute_id=" & item.UniqueID)
    
                'If (collection.Count <> 0) Then
    
    
                '    'sb.Append("<ul>")
    
                '    For Each item As RadComboBoxItem In collection
                '        dt_atribvalues = SqlHelper.ExecuteDatatable("update pc_attribute_values set is_hidden_sku = " + item.UniqueID + " where attribute_value_id =" & ComboBox.DataValueField("attribute_value_id"))
    
    
                '    Next
    
                '    'sb.Append("</ul>")
    
    
                'Else
    
                'End If
    
    
            End Sub
    
    
    
            Protected Sub btn__sku_layout_Click(sender As Object, e As System.EventArgs) Handles btn__sku_layout.Click
    
                ShowCheckedItems()
    
            End Sub

     

    Monday, May 12, 2014 9:55 AM

Answers

  • User-417640953 posted

    Hi shashikant,

    Thank you post the issue to asp.net forum.

    Based on your description, I see you want to update single row in the DataGrid control.

    For this issue, I suggest you using the OnItemCommand event of DataGrid to complete it like below.

     <asp:DataGrid ID="DataGrid1" runat="server" OnItemCommand="DataGrid1_ItemCommand">

    code behind:

      protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
            {
                if (e.CommandName == "Update")
                {
                    //get the RadComboBox
                    // RadComboBox rbx = (RadComboBox)e.Item.FindControl("RadComboBox1");
                    //your code to update database
                }
            }

    For more information and examples about DataGrid OnItemCommand event, please follow below article.

    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.itemcommand(v=vs.110).aspx

    Hope that helps, thanks.

    Best Regards!

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, May 14, 2014 4:00 AM