مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

pejvak82

عضویت از 1396/08/01

یک سئوال کلی در خصوص ایجاد کنترلهای دلخواه در WPF

  • دوشنبه 1 آبان 1396
  • 11:46
تشکر میکنم

سلام.

برای ایجاد کنترل های جدید در WPF چه کارهایی باید انجام بشه.

این سئوال کلی را با یک مثال خدمتتون شرح میدم :

همونطور که میدونید کنترلهای آماده ای نظیر Telerik و  DevExpress در بازار وجود داره که میشه ازشون در پروژه ها استفاده کرد. سئوالم اینه که آیا در ساخت کنترلی مثل DataGridView در Telerik، از کنترلهای اصلی مایکروسافت مثل DataGrid استفاده و بعد توسعه داده میشه یا اینکه با روش دیگری این کار انجام میشه.

راستش قصد دارم برای تمرین، یک سری کنترل خاص درست کنم و به همین خاطر این سئوال برام پیش اومده.

یکی از کنترلهایی که خیلی دوست دارم درستش کنم همین DataGridView هستش که امکاناتی به شرح ذیل داشته باشه:

1- در هر ستون متناسب با منظور کاربر، کنترل مطلوبش را قرار بده مثلاً در فیلدی که نوع داده Boolean داره CheckBox قرار بده یا اینکه اگر بخواهیم از بین چند گزینه دیتای مشخصی را در حالتی که دیتاگرید جهت ثبت رکورد استفاده میشود، وارد کنیم از کنترل ComboBox استفاده کنیم و ... ؛

2- در عنوان هر ستون بتوانیم با کلیک روی آیکن فیلتر با امکانات فیلترینگ اقدام به فیلتر رکوردهای آن ستون کنیم؛

3- بتوانیم صفحه بندی را با نمایش تعداد رکورد در هر صفحه داشته باشیم؛

4- امکان گروهبندی نتایج نمایش داده شده با درگ کردن سر ستون به نوار گروهبندی؛

5- امکان حذف ستونهای اضافی از نظر کاربر با درگ کردن سر ستون به بیرون کادر؛

6- امکان اکسپورت کردن اطلاعات با آخرین وضعیت توسط کاربر به اکسل و سایر فرمتهای مورد نیاز نظیر PDF، HTML و ... ؛

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

ممنون میشم راهنمایی کنید.

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

mehrangharzi

عضویت از 1395/08/29

  • دوشنبه 1 آبان 1396
  • 14:04

http://www.c-sharpcorner.com/UploadFile/mahesh/datagrid-in-wpf/

این رو مطالعه کنید

کاربر سایت

pejvak82

عضویت از 1396/08/01

  • دوشنبه 1 آبان 1396
  • 15:20

در مقاله ای که زحمت کشیدید و لینکشو گذاشتید در خصوص نحوه ی بکارگیری DataGrid صحبت شده. اما من قصدم این بود که درک کنم چطور میشه کنترلهایی نظیر آنچه که در کنترلهای پیشرفته وجود داره چطور ساخته میشه. آیا اکستند شده از DataGrid هست یا نه کلاً با روال دیگری ساخته میشه؟

اگر جواب روشن بدید ممنون میشم.

مثلاً میخوام بدونم برای فیلتر گذاری روی سر ستونهای DataGrid چکار باید کرد؟

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • دوشنبه 1 آبان 1396
  • 16:00

سلام دوست عزیز.

اول از هر چیزی یک سوال.

آیا شما خوشتون میاد که دوباره کاری کنید؟؟ و کد بیخودی بنویسید؟؟

گرید dev رو برید بررسی کنید ببینید چیا که نداره. همه این چیزا تو همون گرید dev هست. نسخه 2017 را نصب کنید.

کاربر سایت

pejvak82

عضویت از 1396/08/01

  • دوشنبه 1 آبان 1396
  • 16:57

DevExpress و Telerik انصافاً کنترلهای با کیفیتی هستن و کار کردن باهاشون بسیار لذت بخشه. مطمئناً ازشون استفاده میکنم.

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

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

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • سه شنبه 2 آبان 1396
  • 09:47

راهکاران سیستم کنترل خاصی ننوشته ها.

فقط اومده یکی دوتا یوزر کنترل شخصی نوشته.

بقیش dev یا تلریک هست.

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

ولی فکر نکنم تا حدی برید که dev و امثال dev رفتن.

بهتره وقتتونو صرف یچیز بهتر بکنید.

موفق باشید

کاربر سایت

pejvak82

عضویت از 1396/08/01

  • سه شنبه 2 آبان 1396
  • 16:09

بله دیگه! نبود قانون کپی رایت باعث شده ما اینطور آزادانه در مورد صرفنظر کردن از اتلاف وقت در عرصه نوشتن کنترل دلخواه بحث کنیم. اگر این قانون وجود داشت یا مجبور بودیم این کنترلها رو بخریم یا اینکه اگر برامون صرف نداشت خودمون بسازیمش. اونوقت این مقوله مهم و کاربردی میشد. در اون صورت فضای رقابتی بسیار خوبی برای نرم افزار نویسان ایجاد میشه و به جدیت میگم هیچ کدوم از مهندسان نرم افزاری که بلد باشن چیزی از خودشون بیرون بدن از نظر مالی درمانده نمیشن. واقعاً برای مسئولان مملکتی متأسفم که نه تنها برخوردی با موضوع نقض قانون کپی نمیکنن بلکه الآن در تمام دستگاههای دولتی هم از همین نرم افزارهای قفل شکسته و کرک شده استفاده میکنن و عین خیالشون هم نیست!

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

کلاً بحث جالبی بود و تا همین جا به کلی راه حل دست پیدا کردم.

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

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)