View Full Version : منو
probit
یک شنبه 12 شهریور 1385, 10:14 صبح
سلام
یه سوال داشتم ، می خواهم یه منوی دو یا سه سطحی درست کنم که لینک های اون از توی دیتابیس بیاد این لینکها داینامیک هستند و ممکن است کم یا زیاد شوند چه راه حلی را شما پیشنهاد می کنید
از منوی خود asp می خواستم استفاده کنم که نشد چون اطلاعات را از xml یا site map می گیره و منم با اینها تا حالا کار نکردم (اضافه یا حذف کردن اطلاعات) و دیگه اینکه نمی شد اون را سمت راست برد
probit
دوشنبه 13 شهریور 1385, 09:28 صبح
یعنی کسی نمی دونه؟
nazaninam
دوشنبه 13 شهریور 1385, 14:38 عصر
دوست عزیز من قبلا این مسئله رو توی یک مقاله کامل توضیح دادم ولی متاسفانه پاک شده ....
بریم سر اصل مطلب »
دو تا راه خوب داره : 1- هر دفعه که قسمتی از منو با جدول دیتابیس اضافه شد فایل xml رو بازنویسی کنید
2- با حلقه های تو در تو کامل منو رو از بانک لود کنید
روش دوم رو توضیح میدم امروز ولی بگم که روش اول خیلی سریع تره:
خوب اول یک منو به نام Menu1 بگذارید داخل صفحه
در ضمن در کد زیر باید حتما connectionstring رو تعریف کنید
Dim ds As New DataSet
Using con As New SqlConnection(connectionstring)
Dim cmd As New SqlCommand("Select_AllList", con)
With cmd
.CommandType = CommandType.StoredProcedure
End With
Dim da As New SqlDataAdapter(cmd)
Try
con.Open()
da.Fill(ds)
Finally
con.Close()
End Try
End Using
Dim dr As New DataRelation("Node_child", ds.Tables(0).Columns("cat_pk"), ds.Tables(1).Columns("cat_fk"), False)
ds.Relations.Add(dr)
Menu1.Items.Clear()
Dim i As Integer = 0
For Each nrow As DataRow In ds.Relations("Node_child").ParentTable.Rows
Dim item As New MenuItem
item.Text = nrow.Item("cat_name").ToString
item.ToolTip = nrow.Item("cat_desc").ToString
item.NavigateUrl = "~/branch_list.aspx?code=" + nrow.Item("cat_pk").ToString
item.Selectable = False
Menu1.Items.Add(item)
For Each crow As DataRow In nrow.GetChildRows("Node_child")
Dim subitem As New MenuItem
subitem.Text = crow.Item("branch_name").ToString
subitem.ToolTip = crow.Item("branch_desc").ToString
subitem.NavigateUrl = "~/adver_list.aspx?code=" + crow.Item("branch_pk").ToString
Menu1.Items.Item(i).ChildItems.Add(subitem)
Next
i += 1
Next
جدول و stored procedure مربوط رو هم همراهش attach کردم
probit
دوشنبه 13 شهریور 1385, 17:35 عصر
سلام
con.Open()
da.Fill(ds)
برنامه ای که نوشتید روی این کد خطای
Could not find stored procedure 'Select_AllList'
را میگیره اگه ممکنه این stored procedure را هم بفرستید.
برای فارسی کردن منو باید چکار کرد منظورم جایی است که submenu ها باز می شوند که باید در سمت چپ منو باز شود
nazaninam
دوشنبه 13 شهریور 1385, 19:12 عصر
دوست عزیز من این کارو کردم به نوشته من دقت کنید یک atach به نام menu هست که باید توی query analyzer اجراش کنید
موفق باشید
probit
سه شنبه 14 شهریور 1385, 10:37 صبح
مرسی nazaninam
کمک بزرگی کردید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.