PDA

View Full Version : مشکل با List view



ESG_Esfahan
چهارشنبه 06 اردیبهشت 1385, 00:15 صبح
از یک list view با چندین ستون در برنامه استفاده شده به طوری که چون تعداد ستونها زیاد است list view اسکرول افقی می گیرد و در موقع باز شدن یا refresh شدن اسکرول سمت چپ قرار می گیر د و فیلدهای سمت چپ را نشان میده و چون برنامه فارسی است و ستونها از راست به چپ است محل قرار گرفتن اسکرول مشکل ساز میشه .
محل اسکرول با تغییر خاصیت RightToLeft هم عوض نمیشه . لطفا بگید چطوری میشه این مشکل ساده ولی مهم را حل کرد .:متفکر:
متشکرم

shahab_ss
پنج شنبه 07 اردیبهشت 1385, 17:38 عصر
RightToleft - > True

RightToleftLayout - > True

once4ever
پنج شنبه 07 اردیبهشت 1385, 22:11 عصر
آیا میشه sortدر list view که چندتا ستون داره بر اساس یکی از ستونهای (بجزستون اول) باشه؟
آیا میشه مقداری رو بین تمام ستونها (ستون مشخص) جستجو کرد؟

ESG_Esfahan
پنج شنبه 07 اردیبهشت 1385, 22:44 عصر
سلام
آقا Shahab_SS من که نفهمیدم منظورت از RightToleftLayout - > True چیه . اگه میشه یه کم بیشتر و واضح تر توضیح بده . خیلی ممنونم

و در مورد سوال بعدی اینکه بله میشه چنین کاری کرد.
فکر کنم نمونه برنامه ای تو سایت CodeProject دیدم که طوری کد نویسی شده بود که مثل datagrid روی هر ستونی که کلیک می کردی بر اساس همون فیلد مرتب می شد . تو این سایت یه سری بزن حتما پیداش می کنی .

hassan_kahrizy
جمعه 08 اردیبهشت 1385, 04:38 صبح
بسمه تعالی
با سلام
دقیقا یادم نیست ولی فکر کنم اگر بتونی اولین گزینه سمت راست رو سلکت کنی اسکرول سمت راست قرار بگیره

shahab_ss
جمعه 08 اردیبهشت 1385, 08:21 صبح
سلام .
اگر از VE.net 2005 استفاده میکنید بین Property های کنترل ListView گزینه RightToleftLayout را دارید که اگر اون رو به همراه RightToLeft مقدار True بدید نتیجه همونی میشه که شما میخای !!!
من تست کردم و شد.

احتمالا شما از 2003 استفاده کردی که منظور من رو متوجه نشدی !!
که در این صورت به نظر من هم راه پیشنهادی آقای Hassan_kahrizi مناسب هست.

تغییر دیگه ای که این کنترل در 2005 داشته و به نظر من جالب میاد اینه که شما خاصیت BackgroundImage رو در اون دارید که این امکان در 2003 وجود نداشت !!!

ESG_Esfahan
شنبه 09 اردیبهشت 1385, 00:25 صبح
سلام
بله شما درست حدس زدی من از ور‍ژن 2003 استفاده میکنم.
شرمنده آقا Hassan_Kahrizi من که نتونستم اولین گزینه را سلکت کنم می بخشید میشه بگین چطوری این کار را انجام بدم.
ممنون!

once4ever
شنبه 09 اردیبهشت 1385, 00:29 صبح
برای انتخاب گزینه اول:

this.listView1.Items[0].Selected=true;

ESG_Esfahan
شنبه 09 اردیبهشت 1385, 22:59 عصر
سلام
من به وسیله این کد آیتم اول را سلکت کردم ولی هیچ اتفاقی نیفتاد . و من فکر کنم کلا این کار صحیح نیست چون هر آیتم خود دارای زیر آیتم هایی است و وقتی آیتم اول انتخاب میشود یعنی ردیف اول در حالت انتخاب باشد و این ربطی به اسکرول نداره.
لطفا من را راهنمایی کنید چون به خاطر این نکته کوچک برنامه ام کارایی نداره.
ممنونم

hassan_kahrizy
یک شنبه 10 اردیبهشت 1385, 03:30 صبح
بسمه تعالی
با سلام
شماره گذاری از سمت چپ به راست شکل می گیرد
باید شماره ای رابدهید که تعداد ستون های لیست شما دارد می باشد
وقتی شما گزینه ای را انتخاب می کنید لیست آن را اگر به طور کامل نشان نداده نشان می دهد و چون شما به سمت چپ اسکرول دارید این کار به سمت راست اسکرول می دهد
می تونید در my computer هم تستش کنید

hassan_kahrizy
یک شنبه 10 اردیبهشت 1385, 03:34 صبح
بسمه تعالی
با سلام
مثلا اگر 5 ستون دارید
this.listView1.Items[5].Selected=true;

ESG_Esfahan
یک شنبه 10 اردیبهشت 1385, 23:58 عصر
سلام
فکر کنم شما درست متوجه منظور من تو پیغام قبلی نشدید .
listveiw در حالت Detail است و در این حالت هر item یعنی یک ردیف پس با استفاده از کد شما پنجمین ردیف از اطلاعات سلکت میشه وکاری به ستونها نداره . در حقیقت ستونها معادل SubItem ها هستند که SubItem ها امکان سلکت شدن ندارند.
برای اینکه زودتر به نتیجه برسیم اگه ممکنه با یک مثال کوچک گفته های خودتون را کامل کنید.
از توجه شما خیلی ممنونم! منتظرم

ESG_Esfahan
چهارشنبه 13 اردیبهشت 1385, 22:55 عصر
یعنی هیچ کسی تا حالا این مشکل را نداشته؟
یکی جواب بده.
متشکرم.

hassan_kahrizy
پنج شنبه 14 اردیبهشت 1385, 03:55 صبح
بسمه تعالی
با سلام
در این حالت تنها کاری که به ذهنم مس رسه نصب Visual Studi 2005و استفاده از همون روشی که دوستمون در صفحه قبل گفت باشه.
اگر جواب دیگری به ذهنم رسیدمی فرستم
موفق باشید

hassan_kahrizy
پنج شنبه 14 اردیبهشت 1385, 04:00 صبح
بسمه تعالی
با سلام
یک تسرچ بزنید و اگر نبود یک تاپیک جدید و از دوستان بپرسید می شه چطور می شه موقعیت نمایش را تغییر داد یهنی همان کاری که با میله اسکرول بار انجام می دهیم اینجوری فقط کافیه موقعیتی که دوست داری برا نمایش انتخاب کنی
موفق باشید

ESG_Esfahan
پنج شنبه 14 اردیبهشت 1385, 22:39 عصر
ممنون از راهنمایی شما!!!