"> DropDown تو در تو در ASP.NET + فیلم آموزشی | ام اس پی سافت

DropDown تو در تو در ASP.NET + فیلم آموزشی

DropDown تو در تو

آموزش ساخت DropDown تو در تو که میتواند در خیلی از مواقع پرکاربرد و در بعضی مواقع ما نیاز داریم برای اینکه اطلاعات مربوط به یک جدول را بسته یه یک اطلاعات خاص از جدولی دیگر پر کنیم ، خوب مثال ساده ای که میتونم بزنم نمایش استان ها و شهرستان هاست که با انتخاب استان لیست شهرستان های آن استان نیز نمایش داده شود ، کار بسیار ساده ای است که در ادامه ان را در ASP.NET توسط ابزار EntityDatasource بدون حتی یک خط کد نویسی انجام میدهیم.

برای این کار نیاز به یک فرم داریم و دو DropDown List !

پروژه خود را در ASP.NET ساخته و مراحل را باهم پیش میگیریم سعی میکنیم تصویر مراحل را نیز براتون قرار بدم هرچند فیلم آموزشی گویای تمامی مراحل هست.برای آموزش.

DropDown تو در تو

ابتدا باید دیتابیس را طراحی کنیم و دو جدول ساخته و رابطه ای نیاز برای ارتباط باهم در آن ایجاد کنیم ،

برای ساخت دیتابیس میتوانید از اسکریت زیر استفاده کنید و یا اینکه هر نوع دیتابیس که دارید نیز میتوانید استفاده کنید و فقط به نوع رابطه دقت کنید که در لیست شهرستان ها ID استان باید قرار بگیره و با خوده استان رابطه داشته باشه ، یک رابطه خیلی ساده.

CREATE TABLE [dbo].[Tbl_Ostan](
	[OstanID] [int] IDENTITY(1,1) NOT NULL,
	[Name] [nvarchar](150) NULL,
 CONSTRAINT [PK_Tbl_Ostan] PRIMARY KEY CLUSTERED 
(
	[OstanID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[Tbl_Ostan] ON
INSERT [dbo].[Tbl_Ostan] ([OstanID], [Name]) VALUES (1, N'تهران')
INSERT [dbo].[Tbl_Ostan] ([OstanID], [Name]) VALUES (2, N'البرز')
SET IDENTITY_INSERT [dbo].[Tbl_Ostan] OFF
/****** Object:  Table [dbo].[Tbl_Shahrestan]    Script Date: 01/21/2016 13:51:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Tbl_Shahrestan](
	[ShahrestanID] [int] IDENTITY(1,1) NOT NULL,
	[OstanID] [int] NOT NULL,
	[Name] [nvarchar](150) NULL,
 CONSTRAINT [PK_Tbl_Shahrestan] PRIMARY KEY CLUSTERED 
(
	[ShahrestanID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[Tbl_Shahrestan] ON
INSERT [dbo].[Tbl_Shahrestan] ([ShahrestanID], [OstanID], [Name]) VALUES (1, 1, N'ورامین')
INSERT [dbo].[Tbl_Shahrestan] ([ShahrestanID], [OstanID], [Name]) VALUES (3, 1, N'قرچک')
INSERT [dbo].[Tbl_Shahrestan] ([ShahrestanID], [OstanID], [Name]) VALUES (4, 2, N'هشتگرد')
INSERT [dbo].[Tbl_Shahrestan] ([ShahrestanID], [OstanID], [Name]) VALUES (5, 2, N'ماهدشت')
SET IDENTITY_INSERT [dbo].[Tbl_Shahrestan] OFF
/****** Object:  ForeignKey [FK_Tbl_Shahrestan_Tbl_Ostan]    Script Date: 01/21/2016 13:51:47 ******/
ALTER TABLE [dbo].[Tbl_Shahrestan]  WITH CHECK ADD  CONSTRAINT [FK_Tbl_Shahrestan_Tbl_Ostan] FOREIGN KEY([OstanID])
REFERENCES [dbo].[Tbl_Ostan] ([OstanID])
GO
ALTER TABLE [dbo].[Tbl_Shahrestan] CHECK CONSTRAINT [FK_Tbl_Shahrestan_Tbl_Ostan]
GO

 

بعد از اضافه کردن Modal روی پروژه ارتباط با دیتابیسی که ساختیم برقرار میکنیم و دو جدول را نیز انتخاب میکنیم.

DropDown تو در تو

حال نیاز به دو DropDownList داریم که اطلاعات استان و شهرستان ها را در آن نمایش بدیم ، دو EntityDatasource نیز روی صفحه قرار داده و همانند آموزش ارتباط را با جدول هایی که  از طریق modal انتخاب کردید متصل میکنیم.

 <asp:ScriptManager runat="server" ID="script"></asp:ScriptManager>
        <asp:UpdatePanel runat="server" ID="uppanel">
            <ContentTemplate>
                <asp:EntityDataSource runat="server" ID="enShowListOstan" ConnectionString="name=DripDownTodarToEntities" DefaultContainerName="DripDownTodarToEntities" EnableFlattening="False" EntitySetName="Tbl_Ostan"></asp:EntityDataSource>
                <asp:DropDownList runat="server" ID="ddlOstan" AutoPostBack="True" DataSourceID="enShowListOstan" DataTextField="Name" DataValueField="OstanID" />
                <br/>
                <hr/>
                <asp:EntityDataSource runat="server" ID="enShowListSharetan" ConnectionString="name=DripDownTodarToEntities" DefaultContainerName="DripDownTodarToEntities" EnableFlattening="False" EntitySetName="Tbl_Shahrestan" AutoGenerateWhereClause="True" EntityTypeFilter="" Select="" Where="">
                    <WhereParameters>
                        <asp:ControlParameter ControlID="ddlOstan" DbType="Int32" Name="OstanID" PropertyName="SelectedValue" />
                    </WhereParameters>
                </asp:EntityDataSource>
                <asp:DropDownList runat="server" ID="ddlSharestan" DataSourceID="enShowListSharetan" DataTextField="Name" DataValueField="ShahrestanID" />
            </ContentTemplate>
        </asp:UpdatePanel>

نکته ای که اینجا داریم EntityDatasource دومی بعنی برای نمایش شهرستان هاست دقت کنید که طبق تصاویر چه تنظیماتی برای شرط  آن برقرار میکنیم.

نکته دومی AutoPostback دراپ دان اولی یعنی لیست شهرستان هاست که باید True بشه ، این کارم خیلی ساده توسط کد و یا تنظیمات قابل انجامه.

اگر تمام کار ها را درست انجام داده باشید میتوانید پروژه را اجرا کنید و از کارتون لذت ببرید قبلش یادتون دیتابیسو پر کنید هرچند چندین اطلاعات براتون گذاشتم ،

پروژه هم ضمیمه کردم فیلم نیز قابل دانلوده ، موفق باشید 🙂

لینک دانلود ویدئو

مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.