PDA

View Full Version : MultiLine کردن ستونهای DataGridView



niloufar
دوشنبه 14 فروردین 1385, 17:11 عصر
دوستان سلام
اگر در DataGridView بخواهیم MultiLine متن وارد کنیم، نه Ctrl+Enter توش کار میکنه و نه اگه خودمون یه متن چند خطی (البته با کاراکتر NewLine) بهش بدیم اونو چند خطی نمایش میده.
فقط وقتی متن طولانی تر از عرض ستون باشه، احتمالا دیدید که یه "سه نقطه" آخرش میذاره و اگه موس را روش ببریم یه tooltip با متن کامل اون نشون میده. جالب اینجاست که اگه خودمون یه متن چند خطی بهش بدیم هر چند اونا رو پشت هم نشون میده ولی tooltipش چند خطی خواهد بود و این یعنی حالیشه که چند خطیه و فقط نمایشش نمیده که البته وقتی حالیشه یعنی قاعدتا ساپورتش میکنه و احتمالا یه راهی برای MultiLine کردن ستونها وجود داره ولی من پیداش نکردم.
اگه از دوستان کسی میدونه یا پیداش کرده به ما هم بگه.
ممنون

Mehrafrooz
دوشنبه 14 فروردین 1385, 18:57 عصر
من یک مثالی از سایت codeproject دانلود کردم برای multiline کردن header ستونها شاید بدردتون بخوره
3075

3076

شاید با کمی تغییر بشه کاریش کرد.

niloufar
دوشنبه 14 فروردین 1385, 19:25 عصر
سلام
از ThreeRiversTechnologies.SizableColumnHeaderDataGri d خطا میگیره. این چیه؟

Hamedm
دوشنبه 14 فروردین 1385, 21:54 عصر
سلام

دوستان سلام
اگر در DataGridView بخواهیم MultiLine متن وارد کنیم، نه Ctrl+Enter توش کار میکنه و نه اگه خودمون یه متن چند خطی (البته با کاراکتر NewLine) بهش بدیم اونو چند خطی نمایش میده.
فقط وقتی متن طولانی تر از عرض ستون باشه، احتمالا دیدید که یه "سه نقطه" آخرش میذاره و اگه موس را روش ببریم یه tooltip با متن کامل اون نشون میده. جالب اینجاست که اگه خودمون یه متن چند خطی بهش بدیم هر چند اونا رو پشت هم نشون میده ولی tooltipش چند خطی خواهد بود و این یعنی حالیشه که چند خطیه و فقط نمایشش نمیده که البته وقتی حالیشه یعنی قاعدتا ساپورتش میکنه و احتمالا یه راهی برای MultiLine کردن ستونها وجود داره ولی من پیداش نکردم.
اگه از دوستان کسی میدونه یا پیداش کرده به ما هم بگه.
ممنونجناب آقای نیلوفر ببین، گرید برای نمایش اطلاعاتی ساخته شده که حاوی 1 خط است (تعریف گرید اینه). شما با این کار باعث میشید کاربر در مشاهده اطلاعات اشتباه کنه.
اگه خیلی برای این کار اصرار دارید، خطوط جدا کننده سلولهارو رنگی کاملا متمایز از پس زمینه سلولها انتخاب کنید.


در پاله حق موفق باشید و پرتوان

MMAASS
دوشنبه 14 فروردین 1385, 22:01 عصر
اگه خیلی برای این کار اصرار دارید، خطوط جدا کننده سلولهارو رنگی کاملا متمایز از پس زمینه سلولها انتخاب کنید.

آقای محمدی تمایز رنگ بین خطوط جدا کننده و رنگ پس زمینه باعث چه چیزی می شه؟ :متعجب:

Hamedm
دوشنبه 14 فروردین 1385, 22:23 عصر
سلام

آقای محمدی تمایز رنگ بین خطوط جدا کننده و رنگ پس زمینه باعث چه چیزی می شه؟ :متعجب:گفتم که، قرار دادن اطلاعات در گرید در قالب چند خط کار کاملا اشتباهیه. برای این گفتم که رنگها متمایز باشه که کاربر بتونه متوجه بشه این پند خط برای یک سلول است.

در پناه حق موفق باشید و پرتوان

MMAASS
دوشنبه 14 فروردین 1385, 22:34 عصر
اهان ، این توضیح شما برای موقعی بود که موفق به چند خطی کردن گرید بشه !!!!!

niloufar
سه شنبه 15 فروردین 1385, 19:26 عصر
سلام
1- این آقای "نیلوفر ببین" کیه؟ تازه به جمع دوستان اضافه شده؟
2- کی گفته چند سطری بودن سلول ها اشتباهه!!!! یعنی میکروسافت بدبخت فلک زده اینقدر هم حالیش نبوده که در مثل MsAccess یا MsExcel نباید اجازه MultiLine بده؟!!!!
3- این "رنگها متمایز باشه" را ما هم نوفهمیدیم. ها ایه... یعنی چه که بفهمه با هم هستند؟!!! خوب خطوط جداکننده سلول ها مشخص میکنه که این به قول شما پند خط (یا همون چند خط) تو یه سلول هستند پس ربط به هم دارند!!!
4- آقای محمدی، من فکر میکنم یا من منظور شما را متوجه نشدم یا شما منظور من را متوجه نشدید!!

Hamedm
سه شنبه 15 فروردین 1385, 21:13 عصر
سلام

1- این آقای "نیلوفر ببین" کیه؟ تازه به جمع دوستان اضافه شده؟منظورم جنابعالی بودید.


2- کی گفته چند سطری بودن سلول ها اشتباهه!!!! یعنی میکروسافت بدبخت فلک زده اینقدر هم حالیش نبوده که در مثل MsAccess یا MsExcel نباید اجازه MultiLine بده؟!!!!
من میگم اشتباهه. اون چیزی که شما در Excel میبینید گرید نیست.
جناب زواری نظر شما در مورد گرید چند ستونی چیه؟ اشتباه نیست؟ (گرید برای چند ستونی بودن درست نشده)


- این "رنگها متمایز باشه" را ما هم نوفهمیدیم. ها ایه... یعنی چه که بفهمه با هم هستند؟!!! خوب خطوط جداکننده سلول ها مشخص میکنه که این به قول شما پند خط (یا همون چند خط) تو یه سلول هستند پس ربط به هم دارند!!!والا دیگه نمیدونم چطوری توضیح بدم.


در پناه حق موفق باشید و پرتوان

MMAASS
چهارشنبه 16 فروردین 1385, 13:18 عصر
جناب زواری نظر شما در مورد گرید چند ستونی چیه؟ اشتباه نیست؟ (گرید برای چند ستونی بودن درست نشده)
پس واسه چی درست شده؟ :متعجب:

taherbaghal
چهارشنبه 16 فروردین 1385, 15:47 عصر
مگه میشه گرید چند ستونی نباشه :متعجب:
عجب حرفهایی توی این تاپیک هست :گیج:

niloufar
چهارشنبه 16 فروردین 1385, 17:48 عصر
سلام
آقای محمدی:
1- انصافا فکر میکنم شما یه چیز دارید میگید و ما یه چیز دیگه وگرنه واقعا از مشخصاتی که در این سایت از شما میشناسم این حرف ها بعیده ...
2- این چند ستونی دیگه چیه؟!!!! در اسلیم های دوستان داد و بیداد و تعجب همه را در آورده!!! مگه اصلا گریدی داریم که چند ستونی نباشه!!! پس اصلا واسه چی گرید رو ساختن!!!! باور کنید مطمئنم شما مشغولیتتون زیاده و تو این پست ها داشتید تند تند جواب میدادید...
3- الان اصلا بحث ما سر چند خطی بودن یک سلول (Cell) است و می خواهیم در مورد اون به نتیجه برسیم وگرنه اصلا چند ستونی بودن که جزء ذات گریدهاست...
4- کی گفته MsExcel و خصوصا MsAccess گرید ندارند؟!!!!!! حالا شاید یه سری خصوصیت بهشون اضافه کرده باشند (که برای همینه برنامه های میکروسافت بیشتر از برنامه های ما طرفدار داره) ولی میشه گفت که اصلا گرید نیستند؟!!!!!!!! باور کنید مطمئنم شما یه چیز دیگه تو ذهنتونه...
5- لطفا یه ذره با دقت تر به مساله فکر کنید تا دوستان همگی داد و بیدادهاشون رو پس بگیرند. من مطمئنم که شما بدون تمرکز اینا رو گفتید...

Hamedm
چهارشنبه 16 فروردین 1385, 21:32 عصر
سلام

مگه میشه گرید چند ستونی نباشه :متعجب:
عجب حرفهایی توی این تاپیک هست :گیج:
از همه دوستان عذر خواهی میکنم :خجالت:.منظورم چند خطی بود نه جند ستونی (والا خودمم موندم چرا چند ستونی تایپ کردم).
ببین عزیز جان من منظورم اینکه یک سلول هرگز نباید چند خطی باشه. همین.

شما کدوم برنامه رو دیدید که سلولهای گریدش چند خطی است؟

در پنته حق موفق باشید و پرتوان

taherbaghal
پنج شنبه 17 فروردین 1385, 00:00 صبح
منم مطمئن بودم چنین اشتباهی کردید وگرنه از شما بعبد بود
میشه بگید چرا گرید نباید چند خطی بشه؟ اومدم و شد که فکر میکنم زیاد اتفاق میفته

Hamedm
پنج شنبه 17 فروردین 1385, 00:28 صبح
سلام

میشه بگید چرا گرید نباید چند خطی بشه؟

شما کدوم برنامه ی حرفه ای رو دیدید که سلولهای گریدش چند خطی است؟

در پناه حق موفق باشید و پرتوان

niloufar
پنج شنبه 17 فروردین 1385, 16:34 عصر
سلام
آقای محمدی:
1- عرض کرده بودم که مطمئن هستم که ....
2- هنوز هم عرض میکنم که مطمئن هستم که شما باز هم از روی مشغله می فرمایید: "شما کدوم برنامه رو دیدید که سلولهای گریدش چند خطی است؟" وگرنه تو همین تاپیک شونصد بار فقط اسم MsAccess رو آورده ام...
3- حالا بی خیال این MsAccess که یا هر کاری میکنم یه نگاه بهش نمیندازید و یا بازم معتقدید که گرید نداره !!!!!!!. اگه شما بخواید مثلا یه رزومه مختصر از کارکنان شرکت را در کنار سایر مشخصات او و در یه گرید نشون بدید یا دریافت کنید، انصافا نیاز به خطوط جدید در سلولها ندارید؟!!! یا اگه بخواید مثلا چند پاراگراف به عنوان توضیح مختصری از کتابها را به همراه سایر مشخصاتشون در یه گرید نشون بدید یا از کاربر دریافت کنید، نیاز به چند خطی بودن سلول ها ندارید؟!!!! حالا یه وقت نگید خوب اصلا هر چی Grid است بی خیال میشیم و مثلا سراغ TextBoxها میریم که خودم بلدم ولی نمیتونیم بگیم این میکروسافت در مثل همین MsAccess (اگه یه مراجعه ای بهش بکنید) بیخود کرده برای راحتی کار یوزرها سراغ گرید رفته!!!!
4- بازم عرض میکنم یه ذره با فراغ خاطر بیشتر به مساله فکر کنید و جواب دهید.

Hamedm
جمعه 18 فروردین 1385, 00:13 صبح
سلام

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

http://img2.freeimagehosting.net/uploads/d78a5bd6de.jpg

http://img2.freeimagehosting.net/uploads/0c048820c6.jpg

در پناه حق موفق باشید و پرتوان

niloufar
شنبه 19 فروردین 1385, 18:29 عصر
سلام
1- آقای محمدی بالاخره یانوس فول برای 2005 رو پیدا کردید؟ آیا هنوز از همون قبلیه تو 2005 هم استفاده میکنید؟ آیا کار میکنه؟
2- در عکسهای شما فیلد Note لااقل چند خط شدن رو ساپورت میکنن ولی DataGridView فقط یه سره مینویسه میره (یا لااقل من بلد نیستم که اصلا این تاپیک هم برای اینه). ضمن اینکه خیلی وقتها اصلا نیاز به NewLine Character هم پیدا میشه مثلا وقتی می خوایم یه متن (که شامل چند پاراگرافه) رو عینا در یه سلول وارد کنیم تا یکسان سازی با متن اصلی باشه (فرض کنید کارفرما اینطور درخواست کرده باشه). مطمئنا خواسته غیر معقولی هم نیست که اینقدر دنبال این باشیم که اساس نیاز به اونو رد کنیم و دنبال راه حلش نباشیم وگرنه قبلا هم عرض کردم که اگه غیر معقول بود MsAccess اجازه MultiLine کار کردن در سلولهاش رو نمیداد.
3- ممنون که تاپیک را پیگیری و ادامه می دهید

Hamedm
شنبه 19 فروردین 1385, 19:33 عصر
سلام

1- آقای محمدی بالاخره یانوس فول برای 2005 رو پیدا کردید؟ آیا هنوز از همون قبلیه تو 2005 هم استفاده میکنید؟ آیا کار میکنه؟نه هنوز نیومده.
معلوم هم نیست کی بیاد، تازه اگه بیاد کلی طول میکشه ک.ر.کش پیدا بشه.
من پیشنهاد میکنم هرگز جانوس 2 رو در 2005 استفاده نکنید.


2- در عکسهای شما فیلد Note لااقل چند خط شدن رو ساپورت میکنن ولی DataGridView فقط یه سره مینویسه میره (یا لااقل من بلد نیستم که اصلا این تاپیک هم برای اینه). ضمن اینکه خیلی وقتها اصلا نیاز به NewLine Character هم پیدا میشه مثلا وقتی می خوایم یه متن (که شامل چند پاراگرافه) رو عینا در یه سلول وارد کنیم تا یکسان سازی با متن اصلی باشه (فرض کنید کارفرما اینطور درخواست کرده باشه). مطمئنا خواسته غیر معقولی هم نیست که اینقدر دنبال این باشیم که اساس نیاز به اونو رد کنیم و دنبال راه حلش نباشیم وگرنه قبلا هم عرض کردم که اگه غیر معقول بود MsAccess اجازه MultiLine کار کردن در سلولهاش رو نمیداد.
3- ممنون که تاپیک را پیگیری و ادامه می دهید شما کاری که جانوس میکنه رو نباید از dataGridView انتظار داشته باشید.

در پناه حق موفق باشید و پرتوان

niloufar
یک شنبه 20 فروردین 1385, 17:50 عصر
سلام
نه هنوز نیومده.
معلوم هم نیست کی بیاد، تازه اگه بیاد کلی طول میکشه ک.ر.کش پیدا بشه.
من پیشنهاد میکنم هرگز جانوس 2 رو در 2005 استفاده نکنید.

شما کاری که جانوس میکنه رو نباید از dataGridView انتظار داشته باشید.

در پناه حق موفق باشید و پرتوان
سلام
خوب بالاخره چی کار کنیم؟!!! یانوس برای 2005 کی Not Found، یانوس قبلی هم که پیشنهاد میشود در 2005 استفاده نکنیم، از DataGridView هم که نباید انتظار یه چند خطی کردن ساده رو هم داشته باشیم (کاری که حتی VsFlexGrid خدابیامرز هم تو VB6 انجام میداد)، پس باید چی کار کنیم؟!!!
البته بازم عرض میکنم که بعیده DataGridView ساپورت نکنه چون توی ToolTipهای مربوط به سلول های طولانی دقیقا MultiLine نشون میده و شاید ما بلد نیستیم خود نمایشش رو هم MultiLine کنیم!!!

Hamedm
یک شنبه 20 فروردین 1385, 18:36 عصر
سلام

شاید ما بلد نیستیم خود نمایشش رو هم MultiLine کنیم!!!من که از هر نوع گرید 2003 و 2005 هیچی بلد نیستم (Only janus). ولی هرچی میخواهی از جانوس گرید ازم بپرسید.

اصلا چرا با 2003 نمینویسید؟

در پناه حق موفق باشید و پرتوان

niloufar
یک شنبه 20 فروردین 1385, 19:34 عصر
بهه!!!
ببخشید، سلام
ما و دوستان کلی شونصد سال کلاس گذاشتیم که بله 2005 ال است و بل است، حالا شما میگید بریم سراغ 2003. این که نشد که چون یانوس برای 2005 رو نداریم از 2003 استفاده کنیم. اصلا میگم بریم و چون VSFlexGrid رو داشتیم از VB6 استفاده کنیم :- )

یه فکری به حال همین 2005 به درد به خور کنیم.

Mehrafrooz
یک شنبه 20 فروردین 1385, 22:45 عصر
برای 2005 هم موجوده فقط بدبختی اینه که چون همشون جدیدا ک.ر.ک ندارند
نمونش :
http://www.devexpress.com/Products

niloufar
دوشنبه 21 فروردین 1385, 18:04 عصر
برای 2005 هم موجوده فقط بدبختی اینه که چون همشون جدیدا ک.ر.ک ندارند
نمونش :
http://www.devexpress.com/Products
سلام
من تو این لینک یانوس ندیدم. اگه منظورتون مشابهه باید عرض کنم که اگه یه نگاه کوچیکم زمان 2003 خدابیامرز به یانوس انداخته باشید متوجه میشید که یه چیز دیگه است. کامپوننت های CommponentOne هم خیلی توپه. اگه از اینا گیر آوردید (البته C1 تو خود سایتش هست اما متاسفانه بدون کرک گذاشتنش :-) اما یانوس جدید رو (البته فولش) جایی ندیدم)