RSS



نمایش لیستی (یا آرایه ای) از رشته ها در کنترل DataGridView

در این مقاله از امکانات موجود در DotNet 3.5 استفاده شده است

هنگام برنامه نویسی گاهی نیاز می شود که لیستی (یا آرایه ای) از رشته ها را با استفاده از کنترل DataGridView نمایش دهیم.

وقتی یک لیست را به کنترل DataGridView مقید می کنیم، این کنترل به طور پیشفرض نام خصوصیت های (Properties) آیتم های موجود در لیست را به عنوان نام ستون در نظر می گیرد.

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

برای درک بهتر موضوع، فرض کنید قرار است لیست زیر را که شامل نام روزهای هفته می باشد را در یک کنترل DataGridView نمایش دهید.

 

List<string> weekDays = new List<string> {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"};

 

dataGridView1.DataSource = weekDays;

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

همانطور که ملاحظه می کنید، کنترل DataGridView به جای اینکه نام روزهای هفته را نمایش دهد، اندازه هر یک از نام ها را نمایش می دهد!

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


List<string> weekDays = new List<string> {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"};

var temp = weekDays.Select(item => new {Days = item});

dataGridView1.DataSource = temp.ToList();

دوستانی که با زبان LINQ آشنا هستند، دقیقا متوجه نحوه عملکرد قطعه کد فوق می شوند. در قطعه کد فوق برای این لیست نام مستعاری به نام Days در نظر گرفته ایم. و برای اینکه داخل کنترل DataGridView قابل نمایش باشد، آن را تبدیل به لیست نموده ایم.

پس از اجرای قطع کد فوق، با شکل زیر مواجه می شوید.



منبع : 30sharp.com

تاريخ : یکشنبه 22 دی 1387   ساعت : 4:38:37 PM    نويسنده : مهرداد قاسمي | نظرات




منوي اصلي

 


آموزش تحت پروژه


شرکت ساینا مبتکر شیوه نوین آموزش تحت پروژه برگزار می کند

C#,ASP.Net,ADO.Net,SQL Server
AVR,ARM,Protel,PC Interface
MCSE with Cisco Device
66494685-66405702 : تلفن

لینک روزانه


 چگونه دو كامپيوتر را با كابل usb يكديگر متصل كنيم؟  (795)
 وضعیت اضطراری در پی گسترش آنفلوانزای خوکی (321)
  مصاحبه اختصاصی با بزرگترین اورکلاکر های جهان : K|ngp|n  (387)
 دریافت کدپستی از طریق اینترنت (613)
 16.5 درصد از پهناي باند اينترنت امريكا در اختيار گوگل است. (379)
 تولید اولین نرم افزار یکپارچه ارسال پیامک تحت وب و Windows Base (486)
 مروری بر LINQ در C# 2008  (583)
 خطر صحبت کردن با موبایل در پمپ بنزین و گاز  (483)
 آدا لاولیس، نخستین برنامه‌نویس‌ کامپیوتر تاریخ (466)
 مایکروسافت و یاهو مذاکره با یکدیگر را تکذیب کردند (358)
  ادامه آرشيو لينك روزانه «

پربازدیدترین مطالب


آرشیو موضوعی


آرشیو ماهانه


لینک دوستان

     آسان دانلود
     برنامه نویس
     CodeProject
     CoderSource
     w3schools


جستجو در سایت