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