PDA

View Full Version : طراحی دیتالیست به این شکل



ali643
یک شنبه 23 بهمن 1384, 17:56 عصر
سلام
چطوری می تونم همچین چیزی رو ایجاد کنم

که قبلش ما اطلاعات رو اینجوری ذخیره می کنم و شکل خروجی مثل شکل زیر هست
اول یه تعداد بلوک می سازیم که در شکل مثلا آموزشگاه و تماس با ما ساخته شده است
بعدش هم آیتم های رو به هر بلوک اختصاص می دیدیم.تا در خروجی هر آیتمی زیر بلوک خودش باشد.

حالا شکل زیر را چطوری در خروجی ببینیم؟

مرسی

brida_kh
دوشنبه 24 بهمن 1384, 08:16 صبح
سلام .
میتونید از یه جدول استفاده کنیدو عمل بایند کردن داده ها رو داخل تگهای جدول انجام بدید


<asp:TemplateColumn >
<ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"متن موردنظر") %></ItemTemplate>
</asp:TemplateColumn><asp:TemplateColumn>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "ID") %><img src="image/e.gif" border="0"> <%# DataBinder.Eval(Container.DataItem, "ID") %>'><img src="image/d.gif" border="0"></ItemTemplate>
</asp:TemplateColumn>
موفق باشید

ali643
پنج شنبه 04 اسفند 1384, 14:49 عصر
سلام آقا اینجوری نمیشه
منظور من اینه که منو رو بهصورت Dynamic ایجاد میشه و Submeno ها هم به صورت Dynamicایجاد میشوند مرسی

ali643
سه شنبه 22 فروردین 1385, 21:43 عصر
یعنی گروه بندی بشن

این کارو فکر کنم باید با یه Repeater و یک Litral انجام داد چون خوده طرف گفت اما نگفت چطوری؟؟؟

حالا چطوری میشه با repeater و literal اینکارو کرد؟؟

مرسی

nazaninam
چهارشنبه 23 فروردین 1385, 11:03 صبح
اینکار رو میتونی توی code behind توسط یک dataset و datarelation ایجاد کنی
توی 2 تا حلقه for each تو در تو این دو تا تیبلی که باهم رابطه دارن رو بخون و به همون شکلی که میخوای چاپ کن
اگه خواستید کدها امشب براتون میگذارم ...
البته من نتونستم توی بخش html اینکار رو انجام بدم....

ali643
چهارشنبه 23 فروردین 1385, 12:44 عصر
شما لطف کن این کارو بکن
تا ببینیم تو بخش HTML کسی می تونه


مرسی

nazaninam
چهارشنبه 23 فروردین 1385, 17:46 عصر
ابتدا یک دیتالیست داخل فرم قرار دهید
سپس کد های زیر رو در بخش html وارد نمایید که مثلا این شکلی میشه



<asp:datalist id="DataList1" runat="server" RepeatColumns="3" CellSpacing="-1">
<ItemTemplate>
<p dir="rtl"><%# container.dataitem() %></p>
</ItemTemplate>
</asp:datalist>



بعد کد های زیر رو در روال pageload مینویسم




Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Dim ds As New DataSet
Dim con As New OleDbConnection
Dim da As OleDbDataAdapter
Dim drowparent As DataRow
Dim drowchild As DataRow
Dim ary = New ArrayList
con = New OleDbConnection("provider= microsoft.jet.oledb.4.0;" & "data source= d:\f_database.mdb")
da = New OleDbDataAdapter("select *from services", con)
con.Open()
da.Fill(ds, "services")
da.SelectCommand = New OleDbCommand("select *from sub_services", con)
da.Fill(ds, "sub_services")
con.Close()
ds.Relations.Add("rel1", ds.Tables("services").Columns("id"), ds.Tables("sub_services").Columns("id"))
For Each drowparent In ds.Tables("services").Rows
ary.add("<td valign=middle bordercolor=#000000 width=152 dir=rtl bgcolor=#FFCB05>" + drowparent.Item("name_s") + "</td>")
For Each drowchild In drowparent.GetChildRows("rel1")
ary.Add("<td valign=middle bordercolor=#000000 width=152 dir=rtl bgcolor=FCEBAA>" + "<A href=list.aspx?code=" + drowchild.Item("id_sub").ToString + ">" + drowchild.Item("name_sub") + "</a>" + "</td>")
Next
Next
DataList1.DataSource = ary
DataList1.DataBind()
End Sub



برای تازه وارد ها بگم که دو فضا نام زیر رو فراموش نکنن


Imports System.Data
Imports System.Data.OleDb



حتی من دیتابیس این پروژه رو میگذارم که دوستان کاملا متوجه بشن
دقت کنید که من درایو d رو برای قرار دادن دیتابیس انتخاب کردم ...
اگه کد ها توضیح میخواد توضیح بدم
درضمن این نوع کد نویسی خیلی سخته مخصوصا قسمتی که باید کد html رو داخل حلقه بنویسیم کسی نمیدونه که چطور میشه اینکار رو داخل خود کد های Html انجام داد؟