| Imports System.Web |
| Imports System.Web.SessionState |
| Imports System.Web.UI |
| Imports System.Web.UI.WebControls |
| Imports System.Web.UI.HtmlControls |
| Imports System.Data |
| Imports Telerik.Web.UI |
| Imports System.Data.SqlClient |
| |
| Partial Class Dailog2 |
| Inherits System.Web.UI.Page |
| Public dt As DataTable |
| Public _store As String = "FilterTable" |
| |
| Protected Sub form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Form2.Load |
| If Not IsPostBack AndAlso ViewState("dt") = Nothing Then |
| If Session(_store) Is Nothing Then |
| dt = New DataTable() |
| dt.Columns.Add(New DataColumn("Selected1", GetType(String))) |
| dt.Columns.Add(New DataColumn("Selected2", GetType(String))) |
| 'Cache.Remove(_store) |
| Else |
| dt = DirectCast(Session(_store), DataTable) |
| End If |
| Else |
| ' Cache.Remove(_store) |
| dt = DirectCast(ViewState("dt"), DataTable) |
| |
| End If |
| |
| End Sub |
| |
| Private Function AddRow(ByVal dt As DataTable) As DataTable |
| ' method to create row |
| Dim dr As DataRow = dt.NewRow() |
| dr("Selected1") = "" |
| dr("Selected2") = "" |
| dt.Rows.Add(dr) |
| Return dt |
| End Function |
| |
| Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click |
| |
| Dim dt As DataTable = DirectCast(ViewState("dt"), DataTable) |
| For Each item As GridDataItem In RadGrid1.Items |
| Dim ddl1 As RadComboBox = DirectCast(item.FindControl("rcbFilterType"), RadComboBox) |
| Dim ddl2 As RadComboBox = DirectCast(item.FindControl("rcbFilterOptions"), RadComboBox) |
| Dim i As Integer = 0 |
| |
| While i < dt.Rows.Count |
| If iitem.ItemIndex = i Then |
| dt.Rows(i)(0) = ddl1.SelectedValue |
| dt.Rows(i)(1) = ddl2.SelectedValue |
| End If |
| System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1) |
| End While |
| Next |
| |
| ViewState("dt") = AddRow(dt) |
| RadGrid1.Rebind() |
| End Sub |
| |
| Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) |
| If Not IsPostBack Then |
| ViewState("dt") = dt |
| RadGrid1.DataSource = dt |
| Else |
| dt = DirectCast(ViewState("dt"), DataTable) |
| RadGrid1.DataSource = dt |
| End If |
| End Sub |
| |
| Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click |
| Dim dt As DataTable = DirectCast(ViewState("dt"), DataTable) |
| For Each item As GridDataItem In RadGrid1.Items |
| Dim ddl1 As RadComboBox = DirectCast(item.FindControl("rcbFilterType"), RadComboBox) |
| Dim ddl2 As RadComboBox = DirectCast(item.FindControl("rcbFilterOptions"), RadComboBox) |
| Dim item1 As New RadComboBoxItem() |
| item1.Text = "key1" |
| item1.Value = "0" |
| Dim i As Integer = 0 |
| While i < dt.Rows.Count |
| If iitem.ItemIndex = i Then |
| dt.Rows(i)(0) = ddl1.SelectedValue |
| dt.Rows(i)(1) = ddl2.SelectedValue |
| |
| End If |
| |
| System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1) |
| End While |
| Next |
| If (Not ClientScript.IsStartupScriptRegistered("return")) Then |
| Page.ClientScript.RegisterStartupScript(Me.GetType(), "return", "returnToParent();", True) |
| End If |
| End Sub |
| |
| Protected Sub rcbFilterType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) |
| Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString) |
| Dim query As String = "" |
| |
| Dim ddl1 As RadComboBox = CType(sender, RadComboBox) |
| Dim DataItem As GridDataItem = CType(ddl1.NamingContainer, GridDataItem) |
| Dim ddl2 As RadComboBox = DirectCast(DataItem.FindControl("rcbFilterOptions"), RadComboBox) |
| |
| If ddl1.SelectedValue = 0 Then |
| query = "SELECT CategoryID as ID, CategoryName as NAME FROM Categories" |
| ElseIf ddl1.SelectedValue = 1 Then |
| query = "SELECT CategoryID as ID, CategoryName as NAME FROM Categories" |
| ElseIf ddl1.SelectedValue = 2 Then |
| query = "SELECT CategoryID as ID, CategoryName as NAME FROM Categories" |
| Else |
| query = "SELECT CategoryID as ID, CategoryName as NAME FROM Categories" |
| End If |
| Dim adapter As New SqlDataAdapter(query, connection) |
| Dim dt As New DataTable() |
| adapter.Fill(dt) |
| |
| ddl2.DataTextField = "Name" |
| ddl2.DataValueField = "ID" |
| ddl2.DataSource = dt |
| ddl2.DataBind() |
| End Sub |
| |
| |
| End Class |
| |