مشاهده نسخه کامل
: مدیریت datagridview
aliaghaaaaa
22-09-2010, 17:04
سلام.
من می خوام یه دیتاگرید رو فرم یزارم که فیلدهای اون به جای اینکه مقدار توشون قرار بگیره، یه حالتی باشه مثل checkbox.
یعنی کاربر بتونه اون خونه هایی که می خواد رو روش علامت بزاره.
مثلا فرض کنید یه جدول چند در چند داشته باشیم که هر کدوم از خونه هاش رو که خواستیم، تیک بزاریم.
بعد می خوام این فیلدهایی که تیک خورده، مختصاتش رو داشته باشم.
مثلا اگه فیلد به مختصات ( 10و15 ) ، تیک خورده بود، بتونم این مختصات رو ی جایی ذخیره کنم و بعدا ازش استفاده کنم.
حالا اگه دوستان همه ی سوال من رو هم بلد نبودن، لطف کنن هر نظری داشتن بگن یا تا هر جایی که بلد بودن بگن. دستتون درد نکنه.:10:
وقتی داری توی یه datagridview ستون اضافه میکنی، نوع پیشفرض datagridviewTextboxColumn هستش. اگه بخوای ستونها به صورت تیک دار باشن، باید موقع اضافه کردن ستون نوعش رو روی datagridviewcheckboxcolumn تنظیم کنی.
مختصات همه آیتمهای یک datagridview :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
aliaghaaaaa
23-09-2010, 08:03
سلام.
ممنون.
حالا من اگه بخوام مختصات اون خونه از دیتاگرید که تیک خورده رو برگردونم، باید if رو چطور بنویسم؟
سلام
DataGridView یک کنترل برای نمایش اطلاعات بایند شده اش هست بنابراین استفاده از خصیصه های Rows , Columns , Cells خود این کنترلر برای حذف و ویرایش و اضافه ... اطلاعات کار درستی نیست(اما می شود!)
برای انجام کارهای فوق باید یک جدول(DataTable) را به کنترلر DataGridView بایند کنید و سپس تمام تغییرات و ویراش و ... را از جدول بایند شده بدست بیاورید
متد زیر یک جدول چند در چند را ایجاد و آن را به کنترلر بایند می کند:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مثال برای ایجاد یک جدول 5*6 کافی است کد زیرو بنویسید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و برای گرفتن تمام ستون های تیک خورده هم می توانید از متد زیر استفاده کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعد هم هر جا خواستید ذخیره اش کنید
موفق باشید
aliaghaaaaa
23-09-2010, 16:16
سلام.
دست شما درد نکنه از این جواب کاملی که دادید.
اما چند تا سوال در مورد کدها برام پیش اومد.
میشه در موردشون یه خط توضیح بدین؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من از کجا باید خاصیت دیتاگرید رو به datagridviewcheckboxcolumn تغییر بدم؟
اما مهمتر از همه:
من می خوام یه برنامه بنویسم که یه قسمت از کارش اینه:
یه سری اطلاعات می گیره که باید اون ها رو مرتب کنه.
مثلا شیفت کاری چند نفر در هفته که یکی میگه من فلان روز از ساعت ... تا ... میام و یکی دیگه یه چیز دیگه میگه.
من می خوام با دیتا گرید، یه جدول درست کنم که اطلاعات رو بگیره و بعد، برنامه ریزی کنه چه کسی کی بیاد تا همه اوقات پر بشه و تداخل هم نداشته باشه.
اگه کمک کنید یا حد اقل راهنمایی کنید ممنون میشم
دست شما درد نکنه.
aliaghaaaaa
24-09-2010, 11:44
سلام.
یکی لطفا کمک کنه.
1)یک ستون با نام Column و با نوع bool ایجاد و به ستون های tableSource اضافه می کنه
2)چک می کند در صورتی که مقدار خانه فعلی خالی نباشد آن را به bool تبدیل می کند و اگر جواب true شد وارد بلوک شرط می شود
3)متدی با نام GetCheckedCellsPosition که آدرس تمام خانه های تیک خورده جدول را بر می گرداند
نوع برگشتی آرایه ای از نوع Point است که فیلد X آن ایندکس ستون و فیلد Y آن ایندکس ردیف خانه ی چک شده را بر می گرداند
4)لیستی از نوع Point ایجاد و مقدار دهی اولیه می کند
من از کجا باید خاصیت دیتاگرید رو به datagridviewcheckboxcolumn تغییر بدم؟
از قسمت 1 همین جواب ها ! (اگر توجه کنید نوع ستون ها bool است که این باعث می شود DataGridView برای نمایش اطلاعات بایند شده اش خودکار از نوع datagridviewcheckboxcolumn استفاده کند ...)
مثلا شیفت کاری چند نفر در هفته که یکی میگه من فلان روز از ساعت ... تا ... میام و یکی دیگه یه چیز دیگه میگه.
من می خوام با دیتا گرید، یه جدول درست کنم که اطلاعات رو بگیره و بعد، برنامه ریزی کنه چه کسی کی بیاد تا همه اوقات پر بشه و تداخل هم نداشته باشه.
اگه کمک کنید یا حد اقل راهنمایی کنید ممنون میشم
خوب کمی فکر کنید و جداول و دیتابیستان را طراحی کنید و کمی هم کد بنویسد! بعد مشکلتان را بپرسید!
موفق باشید
aliaghaaaaa
24-09-2010, 15:59
سلام.
ممنون از جواباتون
از قسمت 1 همین جواب ها ! (اگر توجه کنید نوع ستون ها bool است که این باعث می شود DataGridView برای نمایش اطلاعات بایند شده اش خودکار از نوع datagridviewcheckboxcolumn استفاده کند ...)
یعنی نمیشه از تو properties دیتاگرید، این نوع رو تغییر داد؟
احتمالا کدها را که اجرا کردید؟!
یعنی نمیشه از تو properties دیتاگرید، این نوع رو تغییر داد؟
بله می شود باید خصیصه Columns را در Properties ویرایش کنید ولی در کدهای بالا اصلا نیازی به انجام اینکار ندارید
سلام.
علی آقا برای تشکر میتونید از دکمه [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] واقع در گوشه هر پست استفاده کنید.
ممنن از توضیحات کاملت مهدی جان:46:.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.