sevenler12
🌱Yeni Üye🌱
- Katılım
- 5 Tem 2007
- Mesajlar
- 3
- Tepkime puanı
- 0
arkadaşlar bu sorun yaklaşık 3 haftadır çözülemedi, yardımcı olursanız sevinirim.
Sayfamda Bir Adet Menü ve Bir Adet Datalist Var.
load event şu şekilde
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
PopulateMenu()
End If
yukle()
End Sub
Menüyü Şu Kodlarla Dolduruyorum :
Private Sub PopulateMenu()
Dim menuData As DataTable = GetMenuData()
AddTopMenuItems(menuData)
End Sub
Private Function GetMenuData() As DataTable
Dim selectCommand As String = "SELECT CategoryId,ParentId,Name FROM Categories"
Dim conString As String = WebConfigurationManager.ConnectionStrings("sqldata").ConnectionString
Dim dad As SqlDataAdapter = New SqlDataAdapter(selectCommand, conString)
Dim dtblCategories As DataTable = New DataTable()
dad.Fill(dtblCategories)
Return dtblCategories
End Function
Private Sub AddTopMenuItems(ByVal menuData As DataTable)
Dim view As DataView = New DataView(menuData)
view.RowFilter = "ParentID IS NULL"
Dim row As DataRowView
For Each row In view
Dim NewMenuItem As MenuItem = New MenuItem(row("Name").ToString(), row("CategoryId").ToString())
Menu1.Items.Add(NewMenuItem)
AddChildMenuItems(menuData, NewMenuItem)
Next
End Sub
Private Sub AddChildMenuItems(ByVal menuData As DataTable, ByVal parentMenuItem As MenuItem)
Dim view As DataView = New DataView(menuData)
view.RowFilter = "ParentID=" + parentMenuItem.Value
Dim row As DataRowView
For Each row In view
Dim NewMenuItem As MenuItem = New MenuItem(row("Name").ToString(), row("CategoryId").ToString())
parentMenuItem.ChildItems.Add(NewMenuItem)
AddChildMenuItems(menuData, NewMenuItem)
Next
End Sub
Datalisti şu Kodlarla Dolduruyorum :
Private Sub Yukle()
Try
Sayfa = New PagedDataSource
Dim DataTable As New DataTable
Baglanti = New SqlConnection
Baglanti.ConnectionString = "Data Source=72.72.72.72;Initial Catalog=deneme;Persist Security Info=True;User ID=deneme;Password=deneme"
If Baglanti.State = ConnectionState.Closed Then Baglanti.Open()
command = New SqlCommand
command.Connection = Baglanti
command.CommandText = "SELECT * FROM Products where CategoryId=@CategoryId"
command.Parameters.AddWithValue("@CategoryId", Menu1.SelectedValue)
Dim rs As SqlDataAdapter = New SqlDataAdapter(command) '
rs.Fill(DataTable)
Baglanti.Close()
Sayfa.DataSource = DataTable.DefaultView
Sayfa.AllowPaging = True
Sayfa.PageSize = 6
SayfaSayisi = Sayfa.PageCount - 1
Sayfa.CurrentPageIndex = SayfaNo
dtlist.DataSource = Sayfa
ReadSayfa()
Catch ex As Exception
Baglanti.Close()
End Try
End Sub
Sorun Şu :
datalistte listeleme yapmam için menüden herhangibir kaydı iki kere tıklamam gerekiyor. yani menüden seçtiğim kategoriyi bir kere tıkladığımda listeleme yapmıyor, aynı kategoriye ikinci kez tıkladığımda listelemeyi gerçekleştiriyior.
nasıl çözebilirim?
Sayfamda Bir Adet Menü ve Bir Adet Datalist Var.
load event şu şekilde
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
PopulateMenu()
End If
yukle()
End Sub
Menüyü Şu Kodlarla Dolduruyorum :
Private Sub PopulateMenu()
Dim menuData As DataTable = GetMenuData()
AddTopMenuItems(menuData)
End Sub
Private Function GetMenuData() As DataTable
Dim selectCommand As String = "SELECT CategoryId,ParentId,Name FROM Categories"
Dim conString As String = WebConfigurationManager.ConnectionStrings("sqldata").ConnectionString
Dim dad As SqlDataAdapter = New SqlDataAdapter(selectCommand, conString)
Dim dtblCategories As DataTable = New DataTable()
dad.Fill(dtblCategories)
Return dtblCategories
End Function
Private Sub AddTopMenuItems(ByVal menuData As DataTable)
Dim view As DataView = New DataView(menuData)
view.RowFilter = "ParentID IS NULL"
Dim row As DataRowView
For Each row In view
Dim NewMenuItem As MenuItem = New MenuItem(row("Name").ToString(), row("CategoryId").ToString())
Menu1.Items.Add(NewMenuItem)
AddChildMenuItems(menuData, NewMenuItem)
Next
End Sub
Private Sub AddChildMenuItems(ByVal menuData As DataTable, ByVal parentMenuItem As MenuItem)
Dim view As DataView = New DataView(menuData)
view.RowFilter = "ParentID=" + parentMenuItem.Value
Dim row As DataRowView
For Each row In view
Dim NewMenuItem As MenuItem = New MenuItem(row("Name").ToString(), row("CategoryId").ToString())
parentMenuItem.ChildItems.Add(NewMenuItem)
AddChildMenuItems(menuData, NewMenuItem)
Next
End Sub
Datalisti şu Kodlarla Dolduruyorum :
Private Sub Yukle()
Try
Sayfa = New PagedDataSource
Dim DataTable As New DataTable
Baglanti = New SqlConnection
Baglanti.ConnectionString = "Data Source=72.72.72.72;Initial Catalog=deneme;Persist Security Info=True;User ID=deneme;Password=deneme"
If Baglanti.State = ConnectionState.Closed Then Baglanti.Open()
command = New SqlCommand
command.Connection = Baglanti
command.CommandText = "SELECT * FROM Products where CategoryId=@CategoryId"
command.Parameters.AddWithValue("@CategoryId", Menu1.SelectedValue)
Dim rs As SqlDataAdapter = New SqlDataAdapter(command) '
rs.Fill(DataTable)
Baglanti.Close()
Sayfa.DataSource = DataTable.DefaultView
Sayfa.AllowPaging = True
Sayfa.PageSize = 6
SayfaSayisi = Sayfa.PageCount - 1
Sayfa.CurrentPageIndex = SayfaNo
dtlist.DataSource = Sayfa
ReadSayfa()
Catch ex As Exception
Baglanti.Close()
End Try
End Sub
Sorun Şu :
datalistte listeleme yapmam için menüden herhangibir kaydı iki kere tıklamam gerekiyor. yani menüden seçtiğim kategoriyi bir kere tıkladığımda listeleme yapmıyor, aynı kategoriye ikinci kez tıkladığımda listelemeyi gerçekleştiriyior.
nasıl çözebilirim?