PDA

View Full Version : انتخاب واحد !



ehsan_2000
شنبه 25 اسفند 1386, 20:50 عصر
سلام
من یه پروژه دانشجویی دارم که سیستم آموزش دانشگاه رو مکانیزه کنم و استاد هم کلید کرده که باید با asp.net بنویسی .
حالا مشکل اینجاست که برای انتخاب واحد دانشجویان هیچ الگوریتمی ندارم که بدونم چجوری برنامه بنویسم.
اگه ممکنه یه کمکی کنید.:متفکر::متفکر:

MehranZand
شنبه 25 اسفند 1386, 21:44 عصر
شما به الگوریتم خاصی در این زمینه نیاز نداری. به یکسری Document در این زمینه نیاز داری که با Search کردن فکر میکنم به نتیجه خوبی برسی.

Modifier
شنبه 25 اسفند 1386, 22:17 عصر
با سلام

بهتر توضیح بده شاید بشه کمک کرد ...

مگه سیستم آموزش دانشگاه به همین سادگیه !

البته اگه انتخاب واحد باشه بازم یه چیزی !

من یه داکیونت دارم که در مورد سیستم انتخاب واحده شاید بتونم کمکتون کنم.

البته اگه خوب توضیح بدی

یا علی

shahab_ksh
شنبه 25 اسفند 1386, 22:58 عصر
پیاده سازی دانشگاه مجازی
http://barnamenevis.org/forum/showthread.php?t=61302

ehsan_2000
یک شنبه 26 اسفند 1386, 09:26 صبح
سلام
از همتون واقعا ممنون
در مورد توضیح بیشتر اینکه من نمی خوام همه آموزش و مکانیزه کنم و در حد کاردانی کامپیوتر است قسمتهای دیگه رو بلدم ولی در مورد انتخاب واحد مشکل دارم و نمی دونم از چه کنترل هایی باید استفاده کنم . مثلا تو دانشگاه موقع ثبت نام لیست درس ها نشون داده میشه که وقتی رو اون کلیک میکنیم استادهایی رو که اون درس و ارائه دادند رو نشون میده و بعد هم هر کدوم و خواستیم انتخاب می کنیم . حالا می خوام ببینم از چه کنترل هایی باید استفاده کنم .
امیدوارم کافی بوده باشه.

Modifier
یک شنبه 26 اسفند 1386, 14:24 عصر
با سلام

از Gridview کن

و برای آشنایی برای استفاده از اون هم توی سایت سرچ کن و هم میتونی از کتاب

ASP.NET 2.0 انتشارات WROX استفاده کنی.

یا علی

ehsan_2000
یک شنبه 26 اسفند 1386, 16:16 عصر
سلام
بر فرض استفاده کردم . حالا وقتی روی درسا کلیک می کنم نا استادا را تویه gridview دیگه ای نشون بدم ؟ یا طور دیگه ای عمل کنم.
راستی گفته بودی document داری ، میشه بزاریش؟

Modifier
سه شنبه 28 اسفند 1386, 21:37 عصر
با سلام

هم میشه تو یه گرید ویئ دیگه نشون بدی یا یه پنجره جدید باز بشه بصورت پاپ آپ و ...

و به دوستانی که درخواست داکیومنت رو کردن بگم که این DOC بصورت پرینت شده است !!

یا علی

ehsan_2000
یک شنبه 11 فروردین 1387, 12:07 عصر
کسی نیست یه کمکی به ما بکنه . واقعا کارم گیره .

baran_mehr
یک شنبه 11 فروردین 1387, 12:45 عصر
میتونی یک کاری کنی . تو قسمت مدیر گروه که درسها رو تعیین میکنه به اضای هر درسی که باز میکنه یک رکورد به جدولت اضافه کنه فرض کن جدولت هم دارای فیلدهایی از قبیل
نامدرس و کد درس و نام استاد و ساعت تشکیل کلاس و تاریخ و روز امتحان و ساعت امتحان
اینظوری بعد از قرار دادن دروس توسط مدیر گروه تو یک جدول از درسها و استادها داری
و برای انتخاب واحد به نظر من بهتره یک کاری کنی یک جدول اصلی داشته باشی به نام انتخاب واحد که انتخاب واحد های تمام بچه ها رو توش ذخیره کنی
و برای انتخاب واحد هر دانشجو اون لیست درسها رو تو یک دیتاویو نشون بده و تا دانشجو بتونه درسهای خودشو انتخاب کنه و وقتی روی هر سطر از دیتاوید کلیک کرد اطلاعات اون سطر داخل یک دیتاویو دیگه ریخته بشه به عنوان دروس انتخاب شده و یک کلید نهایی هم بزار تا با کلید کردن بر روی اون تمام درسهای انتخاب شده وارد جدول اصلی بشه
-------
اینطوری هم میتونی انتخاب واحد کنی و هم فرض کن روز حذف و اضافه ازلاعات رو تغییر بدی یا دروسی رو حذف کنی
در پناه یزدان پاک

ehsan_2000
یک شنبه 11 فروردین 1387, 13:00 عصر
منظورتون از دیتا ویو همون گرید ویو است دیگه ؟
الگوریتم حل شد.
حالا می خوام یه text box باشم که کاربر وفتی کد دانشجو رو وارد میکنه اطلاعات دانشجو تو text box دیگه ای نشون داده بشه . مشکل اینجاست که نمیدونم چجوری باید text box رو به فیلدهای پایگاه داده bind کنم . تو sql میشه ولی تو access درست نمیشه . میشه کدش و اینجا بزاری ؟

baran_mehr
یک شنبه 11 فروردین 1387, 13:12 عصر
منم این مشکل رو قبلا داشتم
من یک میانبر زدم .اول اطلاعات دانشجو رو داخل همون گرید ویو شما ریختم و بعد مقدار سلول شماره دانشجویی رو به textbox دادم
یه امتحان کن

ehsan_2000
یک شنبه 11 فروردین 1387, 13:42 عصر
اینم میشه

ولی کار اصولی تر چطوری میشه ؟

ehsan_2000
یک شنبه 11 فروردین 1387, 14:39 عصر
هیچ کدوم از دوستان سورسی در این مورد ندارند؟

twelve
یک شنبه 11 فروردین 1387, 15:44 عصر
منظورتون از دیتا ویو همون گرید ویو است دیگه ؟

خیر!


مشکل اینجاست که نمیدونم چجوری باید text box رو به فیلدهای پایگاه داده bind کنم


از دیتاست یا دیتا ریدر استفاده کن برای خوندن فیلدها و بعد خاصیت Text مربوط به TextBox ها رو به فیلدهای مورد نظر اختصاص بده !


حالا می خوام یه text box باشم که کاربر وفتی کد دانشجو رو وارد میکنه اطلاعات دانشجو تو text box دیگه ای نشون داده بشه

باید از Ajax کمک بگیری... قائدتا اطلاعات مربوط به دانشجویان بیشتر از یک آیتم هست ف پس چرا از Textbox استفاده کنی ؟ GridView که خیلی آقاس!

ehsan_2000
یک شنبه 11 فروردین 1387, 16:21 عصر
خیر!
ولی همچین کنترلی من ندیدم .

باید از Ajax کمک بگیری

من تا حالا با ajax کار نکردم . اگه ممکنه یه لینکی در مورد نحوه کار باهاش معرفی کنید.


قائدتا اطلاعات مربوط به دانشجویان بیشتر از یک آیتم هست ف پس چرا از Textbox استفاده کنی ؟ GridView که خیلی آقاس!

من میخوام فرمم به این شکل باشه :(البته هنوز ناقصه)
اطلاعات دانشجو تو text box و دروس انتخاب واحد هم تو grid view

RealDream
یک شنبه 11 فروردین 1387, 17:34 عصر
من بصورت کاربردی و خاص روی این نرم افزار کار کردم خواستی میل بده .

twelve
یک شنبه 11 فروردین 1387, 17:40 عصر
ولی همچین کنترلی من ندیدم


Data View یک کامپوننت نیست ، این شی داده های موجود در DataTable رو نشون میده که خود DataTable نماینده جدول های دیتابیس است


من تا حالا با ajax کار نکردم . اگه ممکنه یه لینکی در مورد نحوه کار باهاش معرفی کنید

در همین سایت جستجو کنید

ehsan_2000
یک شنبه 11 فروردین 1387, 17:54 عصر
من بصورت کاربردی و خاص روی این نرم افزار کار کردم خواستی میل بده .

ehsan_mirzayi2000@yahoo.com

ehsan_2000
یک شنبه 11 فروردین 1387, 17:57 عصر
در همین سایت جستجو کنید

جستجو کردم ولی چیز زیادی نبود .

دوستان اگه e_book داشتند بزارن تا استفاده کنیم.

ehsan_2000
یک شنبه 11 فروردین 1387, 17:59 عصر
در همین سایت جستجو کنید

جستجو کردم ولی چیز زیادی نبود .

دوستان اگه e_book داشتند بزارن تا استفاده کنیم.

Behrouz_Rad
یک شنبه 11 فروردین 1387, 18:17 عصر
No Warez Activity

ehsan_2000
یک شنبه 11 فروردین 1387, 18:33 عصر
No Warez Activity

یعنی چی ؟ متوجه نشدم .

Behrouz_Rad
یک شنبه 11 فروردین 1387, 19:58 عصر
یعنی گذاشتن eBook هایی که حق مالکیت دارند ممنوع هست.

ehsan_2000
دوشنبه 12 فروردین 1387, 15:26 عصر
یعنی هیچ کس سورس انتخاب واحد نداره ؟

baran_mehr
دوشنبه 12 فروردین 1387, 16:39 عصر
داداش گلم ، من که تغریبا یه طرح بهت دادم چرا اون طرح رو پیاده نمیکنی.بگذریم
تو تصویرت یک grid view گذاشتی که دروس ارایه شده هست .این دروس رو همون جور که قبلا هم گفتم باید مدیر گروه ارایه کنه
حالا فرض کن من یک دانشجو که میخوام انتخاب واحد کنم وقتی روی کلید انتخاب درس سخت افزار زدم باید برام یک جا ذخیره بشه چون ممکن هست که چند دقیقه بعد بخوام درسو حذف کنم.برای ذخیره درس بهتره از یه grid view دیگه زیر همین استفاده کنی که دارای دکمه خذف باشه.بعد از اینکه تمام انتخابا انجام شد برروی کلید ثبت کلید میکنم تا اطلاعاتم ذخیره بشه
برای ذخیره کردن اطلاعات هم کافیه عناصر موجود در grid view دوم رو وارد دیتابیس انتخاب واحدت کنی .همین
------------------
مهم اون جدولی هست که برای ذخیره اطلاعات انتخاب واحدت ایجاد کردی و اینکه به همه جوانب فکر کردی یا نه
اگه خواستی فیلدای جدولتو بگو تا روش فکر کنیم
------------------
اما باید به فکر روز حذف و اضافه هم باشی که طرح اونم قبلا بهت دادم

ehsan_2000
دوشنبه 12 فروردین 1387, 19:39 عصر
داداش گلم ، من که تغریبا یه طرح بهت دادم چرا اون طرح رو پیاده نمیکنی
تقریبا دیگه تموم شد . همون کاری که گفتی انجام دام دادم .
در مورد سورس هم می خوام کارم و باهاش مقایسه کنم ببینم کو و کاستی داره یا نه . درمورد ظاهر صفحه و از این چیزا


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

بازم ممنون

ehsan_2000
دوشنبه 12 فروردین 1387, 20:47 عصر
یه مشکل کوچیک پیش اومده .
من میخوام اطلاعات یه گرید ویو رو به یه گرید ویو دیگه بریزم . کدم نوشتم ولی خطا می ده.

آیا این کد مشکل داره؟

Dim i As Integer = GridView2.SelectedIndex
GridView3.Rows(1).Cells(1).Text = GridView2.Rows(i).Cells(1).Text

eworkpro
دوشنبه 12 فروردین 1387, 21:17 عصر
دوست عزیز سلام.
راستش تو الان به این فلاکت افتادی من یکسال پیش !
من این برنامه رو نوشتم با asp.net
حالا نمی دونم تو دقیقا چی می خواهی ولی من پروژه ام این شکلیه :

می تونی درس با تعداد واحد با نام استاد های مختلف وارد کنی .
استاد تعریف کنی .
دانشجو تعریف کنی .
نمرات دانشجو رو وارد کنی .
می تونه دستی با توجه به کد رشته های مختلف رشته انتخاب کنی .
می تونه بصورت هوشمند خودش بیاد اونهای رو که پاس کردی و می تونه برات انتخاب واحد کنه . و ...

کلا خیلی کار برد و خط کدهاش حدودا از مرز هزار و پنصد تا گذشت .
خودم هم دیگی قاطی کرده بودم یک هفته هم کار برد .
ببین اگه می خواهی بگو .....

Aidin
دوشنبه 12 فروردین 1387, 23:10 عصر
Index هر Gridview از 0 شروع میشه ، مطمئن هستی یک سطر در Gridview3 داری که الان داری سطر دوم (با Index 1 ) رو پر میکنی ؟

eworkpro
دوشنبه 12 فروردین 1387, 23:26 عصر
در ضمن این error رو وقتی می ده که تو یک رکورد با چنین مشخصاتی نداری .
یعنی فیلد ها و شماره رکوردت رو چک کن .
البته اگر یک if هم بگذاری خوبه ! که اول ببینه می تونه read کنه یا نه !

baran_mehr
سه شنبه 13 فروردین 1387, 00:39 صبح
فکر کنم این خطلا بخاطر این باشه که gridview3 بدون سطر و ستون هست
اگه قبل از تبادل مقدار دو تا دیتاگرید بتونی یک سطر درست کنی این مشکل حل میشه
دارم جستجو میکنم اگه راه حل خوبی پیدا کردم مینویسم و کدشو میزارم
بای گلم

ehsan_2000
سه شنبه 13 فروردین 1387, 19:01 عصر
ببین اگه می خواهی بگو .....
آره . اگه میشه بزاریدش


دارم جستجو میکنم اگه راه حل خوبی پیدا کردم مینویسم و کدشو میزارم
لطف می کنی .

ehsan_2000
چهارشنبه 14 فروردین 1387, 12:49 عصر
دوستان چی شد ؟
من واقعا کارم گیره .

merlin_vista
چهارشنبه 14 فروردین 1387, 13:00 عصر
این برنامه را قبلاً یکی از دوستانم نوشته بود برای پروژه دانشجویی . امیدوارم به دردت بخوره :چشمک:

ehsan_2000
چهارشنبه 14 فروردین 1387, 14:20 عصر
عالی بود .

دستتون در نکنه .

ehsan_2000
چهارشنبه 14 فروردین 1387, 16:13 عصر
کسی نتونست این کد و درست کنه؟

Dim i As Integer = GridView2.SelectedIndex
GridView3.Rows(1).Cells(1).Text = GridView2.Rows(i).Cells(1).Text

baran_mehr
چهارشنبه 14 فروردین 1387, 16:21 عصر
ببین من یه پیشنهاد فعلا برات دارم اما شاید خیلی اصولی و جالب نباشه
من یه مشکلی با ایجاد سطر با گرید ویو دارم اگه حل شه شبیه کد خودتو بهت میدم.که زیاد تفاوتی نداره و به روش خودتم باشه یعنی از یک گریدویو به یه گریدویو دیگه

اما پیشنهاد نه چندان اصولی
میتونی یه جدول بسازی و اطلاعات گریدویو رو توش بریزی و گرید ویو دوم رو به اون جدول وصل کنی
شاید روشهای خیلی سادتر هم باشه اما فعلا این به ذهن من میرسه

ehsan_2000
چهارشنبه 14 فروردین 1387, 16:58 عصر
آخه مشکل اینجاست که من نمی خوام همه اطلاعات گرید ویو رو تو جدول ذخیره کنم . میخوام اوناری رو تو جدول ذخیره کنم که کاربر انتخابشون کنه .
(من یه گرید ویو دارم که تمام درسای مجاز برای انتخاب واحد رو نمایش می ده . بعد می خوام کاربر با انتخاب هر درس اونو به گرید ویو دیگه ای اضافه کنه بعد من گرید ویی سوم رو ذخیره کنم.)

baran_mehr
چهارشنبه 14 فروردین 1387, 18:22 عصر
داداش گلم من برات کدشو نوشتم .امتحانش کن فکر کنم خوب جواب بده

قسمت سراسری فرم:
Dim ds As Data.DataSet
Dim dt As Data.DataTable
Dim cel1, cel2 As Data.DataColumn
Dim row1, row2 As Data.DataRow

قسمتی که این عملیات اونجا میخوای انجام بشه:

dt = New Data.DataTable("table1")

cel1 = New Data.DataColumn("name")
cel2 = New Data.DataColumn("family")

dt.Columns.Add(cel1)
dt.Columns.Add(cel2)

For i As Integer = 0 To 5
row1 = dt.NewRow
row1("name") = "baran"
row1("family") = "mehr"
dt.Rows.Add(row1)
Next


ds = New Data.DataSet
ds.Tables.Add(dt)

GridView1.DataSource = ds
GridView1.DataMember = "table1"
GridView1.DataBind()

من نمیدونستم گریدویوت چه فیلدایی داره اینجا دوتا فیلد ایجاد کردم به نام نام و فامیلی اگه فیلدات چیزه دیگه ای هست کافی عوضش کنی و یا اگر تعدادشون بیشتر بود متغیرها رو بیشتر کن
تو قسمت for هم میتونی تعویض اطلاعات گریدویو رو انجام بدی فقط باید یک کم تغییر بدی
تو قسمت بالا gridviw1 همون گریدی هست که میخوای اطلاعات رو توش بریزی
بازم اگه متوجه نشدی بگو برات بیشتر توضیح بدم

ehsan_2000
چهارشنبه 14 فروردین 1387, 21:15 عصر
داداش دمت گرم
ولی 2 تا مشکل هست:
1 . وقتی یه رکورد اضافه می کنم و می خوام رکورد جدیدی اضافه کنم رکورد جدید روی رکورد قبلی نوشته میشه .
2 - حالا لرید ویو رو چطوری تو بانک ذخیره کنم.

بازم ممنون

baran_mehr
پنج شنبه 15 فروردین 1387, 00:52 صبح
نه گلم
روی رکوردای قبلی نمیریزه من خودم نوشتم و امتحانش کردم.اگه تو یک گریدویو پر داشته باشی و بخوای همه رکورداشو به یک گریدویو دیگه بدی این کد این کارو انجام میده.
ببین من فیلداتو نمیدونم .اما اینجوری در نظر میگیرم و برات توضیح میدمش
که پر هست حاوی فیلدهای نام درس ، کد درس ، استاد ، تاریخ تشکیل کلاس و به ترتیب اندیس فیلدهای اونها از راست به چپ 0 ،1 ،2 ، 3 هست و نامهمین گریدویو gridview1 هست
که ما میخوایم اطلاعاتشو به gridview2 بدیم خوب همه این کدهای زیر رو داخل یک کامندباتون بنویس که این تغییر رکوردها رو انجام بده:

Dim ds As Data.DataSet
Dim dt As Data.DataTable
Dim cel1, cel2, cel3, cel4 As Data.DataColumn
Dim row1 As Data.DataRow
dt = New Data.DataTable("table1")
cel1 = New Data.DataColumn("name_dars")
cel2 = New Data.DataColumn("code_dars")
cel3 = New Data.DataColumn("name_ostad")
cel4 = New Data.DataColumn("data_dars")
dt.Columns.Add(cel1)
dt.Columns.Add(cel2)
dt.Columns.Add(cel3)
dt.Columns.Add(cel4)
For i As Integer = 0 To GridView1.Rows.Count - 1
row1 = dt.NewRow
row1("name_dars") = GridView1.Rows(i).Cells(0).Text
row1("code_dars") = GridView1.Rows(i).Cells(1).Text
row1("name_ostad") = GridView1.Rows(i).Cells(2).Text
row1("data_dars") = GridView1.Rows(i).Cells(3).Text
dt.Rows.Add(row1)
Next
ds = New Data.DataSet
ds.Tables.Add(dt)
GridView2.DataSource = ds
GridView2.DataMember = "table1"
GridView2.DataBind()
ds.Dispose()
dt.Dispose()

حالا برات یکم توضیح میدم:اول برنامه یک شئ دیتاست و دیتا تیبل برای نگهداری مقادیر میسازیم
خوب یک جدول شامل سطر و ستون هست پس باید سطر ها و ستون های خودمون رو هم تعریف کنیم برای تعریف این موارد کد زیر باید نوشته بشه:
Dim ds As Data.DataSet
Dim dt As Data.DataTable
Dim cel1, cel2, cel3, cel4 As Data.DataColumn
Dim row1 As Data.DataRow
خوب بعد از این کار نوبت به ساختن جدول میرسه که یک جدول با نام table1 میسازیم:
dt = New Data.DataTable("table1")

حالا باید ستون های جدول رو تعریف کنیم ما چهارتا ستون داشتیم نام درس ، کد درس ، استاد ، تاریخ تشکیل کلاس :
cel1 = New Data.DataColumn("name_dars")
cel2 = New Data.DataColumn("code_dars")
cel3 = New Data.DataColumn("name_ostad")
cel4 = New Data.DataColumn("data_dars")
بعد از تعریف ستونها باید اونها رو به جدول خودمون اضافه کنیم:

dt.Columns.Add(cel1)
dt.Columns.Add(cel2)
dt.Columns.Add(cel3)
dt.Columns.Add(cel4)

بعد از اینکه ستونها مشخص شد باید اطلاعات گریدویو اول رو داخل گریدویو دومی بریزیم با یک حلقه for این کار رو انجام میدیم.اگر توجه کنی با هربار گردش حلقه یک سطر از گرید اولی خونده شده و به table1 ما یا همون dt اضافه میشه و در انتحای حلقه همه سطر ها وارد گریدویو دومی میشن:

For i As Integer = 0 To GridView1.Rows.Count - 1

row1 = dt.NewRow
row1("name_dars") = GridView1.Rows(i).Cells(0).Text
row1("code_dars") = GridView1.Rows(i).Cells(1).Text
row1("name_ostad") = GridView1.Rows(i).Cells(2).Text
row1("data_dars") = GridView1.Rows(i).Cells(3).Text
dt.Rows.Add(row1)
Next

بعد هم دیتاست رو میسازیم و جدول رو بهش اضافه میکنیم:

ds = New Data.DataSet
ds.Tables.Add(dt)

و در مرحله بعد دیتاست خودمون رو که حاوی جدول ماست به گریدویو دوم اتصال میدیم:
GridView2.DataSource = ds
GridView2.DataMember = "table1"
GridView2.DataBind()
و این کد اخر هم جدول و دیتلست ما رو از بین میبره:
ds.Dispose()
dt.Dispose()

حالا تمام اطلاعات گریدویو اول در گریدویو دوم هم وجود داره بدون کم شدن یا پاک شدن هیچ سطری

baran_mehr
پنج شنبه 15 فروردین 1387, 01:03 صبح
برای اینکه رکورد های گریدویو رو هم وارد بانک کنی.میتونیبه صورتسطر به سطر بخونی و به جدولت اضافه کنی.مثلا میتونی یه حلقه for بزاری از اول گریدویو تا اخرش مقادیر خونهای هر رکوردت رو وارد متغیرها کنی و متغیر رها رو به دستور insert بفرستی

ehsan_2000
پنج شنبه 15 فروردین 1387, 12:20 عصر
آقا تموم شد . تمووووووووووووووووووم.

از همه عزیزانی که تو این مدت جواب ما رو دادند کمال تشکر رو دارم.

مخصوصا داداش عزیزم جناب baran_mehr

pejmanp
پنج شنبه 19 آذر 1388, 16:28 عصر
سلام
یه پروژه آماده در این قسمت گذاشتید خواهشمندم اگر امکان دارد بگویید چطور می شود
data base را باز کرد من هر کاری می کنم میگه دسترسی به دیتا بیس نداره

shocraneh
جمعه 20 آذر 1388, 01:03 صبح
همچین که از تاپیک ها بوش میومد گویا آقای baran_mehr یه برنامه رو سایت گذاشته. هر چی گشتم چیزی نبود . کدوم تاپیکه ؟؟؟؟