PDA

View Full Version : چگونه می توان منوی اکاردیون دینامیک پیاده سازی کرد



bitcob589
یک شنبه 26 خرداد 1392, 11:26 صبح
با سلام
چگونه می توان منو اکاردیون دینامیک با جی کوئری پیاده سازی کرد

forestasphalt
یک شنبه 26 خرداد 1392, 12:17 عصر
اول باید پلاگین jquery-ui رو به صفحه ات اضافه کنی
برای ساخت آکاردیون میتونی از 2 تا ریپیتر استفاده کنی یکی برای خوندن عنوان آکاردیون و یکی هم برای محتوای هر آکاردیون
من اینکار رو کردم با هر بار که روی عنوان آکاردیون کلیک میشه میرم متن مربوط به همون آکاردیون میارم و نشون میدم مثلا آیدی collapse1 مربوط به محتوای آکاردیون 1 یا collapse 2 مربوط به محتوای آکاردیون 2 الی آخر
OnItemDataBound من باهاشون مقدار ریپیتر رو پر میکنم



<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="CategoryRepeater_bound"
>
<ItemTemplate>
<div class="accordion-group">
<div class="accordion-heading">
<a style="text-align: center" class="accordion-toggle" href='#collapse<%# Eval("id") %>'
data-toggle="collapse" data-parent='#accordion<%# Eval("id") %>'>

<asp:Label ID="lbldase" runat="server" Text='<%# Eval("title") %>'></asp:Label>
<asp:Label ID="Label2" Visible="false" runat="server" Text='<%# Eval("catid") %>'></asp:Label>

<asp:Label ID="Label1" Visible="false" runat="server" Text='<%# Eval("id") %>'></asp:Label>
</a>
</div>
<div id='collapse<%# Eval("id") %>' class="accordion-body collapse">
<div class="accordion-inner">
<ul id="tastecat">
<asp:Repeater ID="childRepeater" runat="server">
<ItemTemplate>

<li>
<%--Text='<%# Eval("id") %>'--%>
<%--AutoPostBack="true" OnCheckedChanged="Chk_Bound"--%>
<asp:CheckBox ID="chk" runat="server" />
<asp:Label ID="child_title" runat="server" Text='<%# Eval("title") %>'></asp:Label>
<asp:Image ID="Image1" ImageUrl='<%# Eval("img","images/taste/{0}") %>' Style="width: 100px; height: 100px" runat="server" />

</li>

</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>

bitcob589
یک شنبه 26 خرداد 1392, 12:27 عصر
چگونه پلاگین jquery-ui را بر روی منوی اکاردیون پیاده سازی کرد
چگونه نام منو و زیر منو در OnItemDataBoundریپیتر فراخوانی کرد
اگر امکان دارد یک سمپل بگذارید

forestasphalt
یک شنبه 26 خرداد 1392, 13:53 عصر
این پلاگین از خود jquery-ui دانلود کردم و برات یه سمپل کوچولو درست کردم میتونی از سایت زیر css ها یا تنظیمات دیگه رو انجام بدی
http://uplod.ir/mz693vuvzq7a/Accordion.zip.htm
http://jqueryui.com/accordion
تو تاپیک شماره 2 یه آکاردیون دیگه ای بود که من از ظاهر و عمکردش بیشتر از آکاردیون jquery-ui خوشم میمومد!

bitcob589
یک شنبه 26 خرداد 1392, 14:25 عصر
دیتابیس یا اسکریپت دیتابیس را بگذارید
آیا در سمپل یک ریپیتر وجود دارد

forestasphalt
یک شنبه 26 خرداد 1392, 15:12 عصر
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Sample]') AND type in (N'U'))
DROP TABLE [dbo].[Sample]
GO
/****** Object: Table [dbo].[Sample] Script Date: 06/16/2013 03:47:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Sample]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Sample](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Title] [nvarchar](250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Tbl_Content] [nvarchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_Sample] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
END
GO
SET IDENTITY_INSERT [dbo].[Sample] ON
INSERT [dbo].[Sample] ([Id], [Title], [Tbl_Content]) VALUES (1, N'عنوان یک', N'متن عنوان 1')
INSERT [dbo].[Sample] ([Id], [Title], [Tbl_Content]) VALUES (2, N'عنوان دو', N'متن عنوان 2')
INSERT [dbo].[Sample] ([Id], [Title], [Tbl_Content]) VALUES (3, N'عنوان 3', N'متن عنوان 3')
SET IDENTITY_INSERT [dbo].[Sample] OFF

توی مثال تاپیک شماره 4 بله یک ریپیتر وجود دارد

bitcob589
یک شنبه 26 خرداد 1392, 15:29 عصر
در سمپل گذاشته شده به ازای هر منو فقط یک زیر منو نمایش داده می شود (Title نام منو و Tbl_Content نام زیر منو است )
با توجه به اینکه هر منو شاید بیشتر از یک زیر منو داشته باشد چگونه می توان به ازای هر منو بیش از یک زیر منو نمایش داد.

forestasphalt
یک شنبه 26 خرداد 1392, 16:31 عصر
یک ریپیتر بذار مثل تاپیک شماره 2
مثلا وقتی عنوان منو برابر با x بود بیا تمام پچه هایی که شاخه پدرشون برابر با x بود انتخاب کن و نمایش بده

bitcob589
یک شنبه 26 خرداد 1392, 20:03 عصر
یک ریپیتر بذار مثل تاپیک شماره 2
مثلا وقتی عنوان منو برابر با x بود بیا تمام پچه هایی که شاخه پدرشون برابر با x بود انتخاب کن و نمایش بده
اگر امکان دارد سمپل پست 2 بگذارید