ظاهر DataGridview در Csharp Win App

A.S.Roma

عضو جدید
کاربر ممتاز
سلام ... .

عمده کار من با C# تحت وب بوده. حالا می خوام یکم تحت ویندوز هم بنویسم که به یک سری مشکلات برخوردم.

من دیتا رو از لایه ی BLL به صورت List ی از Objectها می فرستم به لایه UI . تو web یه کنترل به نام ObjectDataSource بود که از طریق اون می تونستم List مورد نظر را به یکی از کنترل های نمایش مثل Gridvbiew به کاربر نشون بدم. تحت ویندوز ظاهرا" نیازی به این کارا نیست. منم اومدم خاصیت DataSource کنترل DataGridView رو برابر List قرار دادم .
مشکلی هم وجود نداره و دیتا رو نشون میده .

مشکل اینجاست که بعضی از فیلدهای Object های اون لیست رو نمی خوام به کاربر نشون بدم یا مثلا" Header بعضی ستون ها رو عوض کنم .
من به شکل کدنویسی مستقیم میام Header رو Rename می کنم یا Visible رو false می کنم که فکر می کنم چندان منطقی نیست.
راه ساده تری نداره !؟

اصلا" کار کردن با این مکانیز درسته !؟ ( منظورم کار با List هاست )
 

SHRP

همکار مدیر تالار مهندسی کامپیوتر متخصص برنامه نوی
کاربر ممتاز
نمي دونم درست متوجه شدم يا نه
راه ساده اينه كه روي كنترل مورد نظر كليك راست كنيد و تمام تغييرات مورد نظر رو در خصوسيات مورد نظر اعمال كنيد.
كار با list , datagrid,.... كاملا معمول است.
 

A.S.Roma

عضو جدید
کاربر ممتاز
نمي دونم درست متوجه شدم يا نه
راه ساده اينه كه روي كنترل مورد نظر كليك راست كنيد و تمام تغييرات مورد نظر رو در خصوسيات مورد نظر اعمال كنيد.
كار با list , datagrid,.... كاملا معمول است.
من دیتاسورس رو RunTime می سازم بازم میشه !؟

پی نوشت : در مورد نام Header حق با شما بود . ممنون . با اینکه DataSource ی براش مشخص نکرده بودم اما به محض بایند شدن کنترل تغیرات اعمال شد.

اما در مورد نشان ندادن فیلدهای خاص !؟

پی نوشت 2(!) : ممنون ! مشکل حل شد. چه کرده این مایکروسافت ! فکر نمی کردم در windows اینقدر ساده باشه.
 
آخرین ویرایش:

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
من دیتاسورس رو RunTime می سازم بازم میشه !؟

پی نوشت : در مورد نام Header حق با شما بود . ممنون . با اینکه DataSource ی براش مشخص نکرده بودم اما به محض بایند شدن کنترل تغیرات اعمال شد.

اما در مورد نشان ندادن فیلدهای خاص !؟

پی نوشت 2(!) : ممنون ! مشکل حل شد. چه کرده این مایکروسافت ! فکر نمی کردم در windows اینقدر ساده باشه.

روما جان ویندوز امکانات بیشتر رو با سادگی بیشتر فراهم میکنه. یکی از دلایلی که من نمیتونم با ASP.NET خیلی کنار بیام اینه که با این همه پيشرفت بازم دستت یه جاهایی بسته است :(
 

A.S.Roma

عضو جدید
کاربر ممتاز
بله حق با شماست . web اصلا" امکانات این چنینی نداری ! ( اما جذابیت های خودشم داره ;) )

یک سوال دیگه ... .
کنترل Listview خاصیت DataSource نداره و اصلا" جزو دسته ی کنترلهای دیتا نیست . یعنی نمی تونم جای DataGridview از اون استفاده کنم !؟
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
بله حق با شماست . web اصلا" امکانات این چنینی نداری ! ( اما جذابیت های خودشم داره ;) )

یک سوال دیگه ... .
کنترل Listview خاصیت DataSource نداره و اصلا" جزو دسته ی کنترلهای دیتا نیست . یعنی نمی تونم جای DataGridview از اون استفاده کنم !؟

اگر منظورت مثلاً برای خاصیت Items هست، به شکل گرید بایند نداره اما میتونی در RunTime با مقاديرت آیتم اضافه و نمایش بدی.
البته در یک سری موارد هم میتونی از خاصیت DataBindings.Add یک کنترل استفاده کنی.
 

A.S.Roma

عضو جدید
کاربر ممتاز
کدوم خاصیت dataGridview رو باید ست کنم تا مجموع عرض ستون هام Fit بشه با عرض گرید و Scroll نخوره !؟
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
کدوم خاصیت dataGridview رو باید ست کنم تا مجموع عرض ستون هام Fit بشه با عرض گرید و Scroll نخوره !؟

راستش در گرید خود دات نت من همچین چیزی یادم نمیاد :razz: اما کامپوننت گرید DevExpress این گزینه رو دارد :D
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
البته AutoWidth برای ستون ها که مثلاً Fit اطلاعات یا هدر یا ... بشه دارد. من در مورد AutoWidth کل گرید گفتم.
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
RIG ظاهر گرافیکی برنامه ؟ C++ , C 14
kerberos2023 انتخاب یک سطر DataGridView در C# C++ , C 1
متالیک C# DataGridView C++ , C 6
A.S.Roma Internet Connections در Csharp C++ , C 5

Similar threads

بالا