PDA

View Full Version : راهنمایی درباره listbox



ghamgin
سه شنبه 29 فروردین 1391, 09:39 صبح
سلام دوستان
من سه تا سوال فوری و حیاتی دارم ممنون می شم کمکم کنید...
من یک لیست باکس دارم که می خوام عنوان ستون های جدولی که گریدم با اون پر میشه رو در اون داشته باشم
اما نمی دونم چطور باید این کار رو انجام بدم؟؟؟

دوم اینکه من چهار تا کلید up, down , top , bottom رو برای لیست باکسم طراحی کردم که برحسب
اینکه کدوم ایتم از لیست انتخاب بشه و روی کدوم کلید کلیک بشه اون ایتم جا به ا میشه
حالا می خوام طبق این جابه جایی که در لیست رخ داده . ستون های گریدم جا به جا بشن. اما نمی دونم چکار باید انجام بدم؟؟؟؟

سوم اینکه یک لیست باکس دیگه هم دارم که می خوام وقتی ایتمی از لیست باکس اول به این لیست باکس منتقل شد.
اون ستون از در گریدم نمایش داده نشه و در مراجعات بعدی هم همین طور باقی بمونه تا اینکه کاربر تغییرش بده؟؟؟؟

(البته گرید در فرم اصلی برنامه هست و لیست باکس ها و کلیدها در فرم دوم که با کلیک بر روی یک کلید در فرم اصلی به فرم دوم میرم)

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

ghamgin
سه شنبه 29 فروردین 1391, 20:00 عصر
برای نام ستون های گریدویو به این صورت


foreach (DataGridViewColumn s in dataGridView1.Columns)
{
listBox1.Items.Add(s.HeaderText);
}


برای عدم نمایش ستون گرید ویو :


dataGridView1.Columns[2].Visible = false;


برای اینکه تغییرات رو در اجراهای بعدی داشته باشید باید اونها رو رو فایل یا در رجیستری ذخیره کنید و در اجراهای بعدی بازخوانی کنید.



-----
سلام
ممنون
اما این کد کل ستون ها رو در لیست باکس دوم نشون میده
من میخوام ستون هایی که ویزیبلشون فعال هست در لیست دوم و ستون هایی که ویزیبلشون غیرفعال هست در لیست دوم بیاد
و با جابه جا شدن ایتمها در این لیست ها , ستون ها در گرید با توجه به ایتمهای لیست دوم بشه
و تغییرات بمونه(ستون ها )
خواهش می کنم راهنمایی کنید:ناراحت:
ممنونم

ghamgin
سه شنبه 29 فروردین 1391, 20:08 عصر
-----
سلام
ممنون
اما این کد کل ستون ها رو در لیست باکس دوم نشون میده
من میخوام ستون هایی که ویزیبلشون فعال هست در لیست دوم و ستون هایی که ویزیبلشون غیرفعال هست در لیست دوم بیاد
و با جابه جا شدن ایتمها در این لیست ها , ستون ها در گرید با توجه به ایتمهای لیست دوم بشه
و تغییرات بمونه(ستون ها )
خواهش می کنم راهنمایی کنید:ناراحت:
ممنونم

---
سلام مجدد
الان خودم متوجه اینکه چطور ستون های فعال و غیرفعال رو در دو لیست بیارم شدم
فقط مشکلم اینه مه چطور با انتقال ایتم به لیست ها ستون گرید طبق ایتم های لیست دوم بشه و این تغییرات رو گرید و در لیست ها باقی بمونه تا اینکه کاربر عوضشون کنه
ممنون میشم کمک کنید

ghamgin
چهارشنبه 30 فروردین 1391, 09:45 صبح
برای جابجایی ستونها:


dataGridView1.Columns["Column1"].DisplayIndex = 0;
dataGridView1.Columns["Column3"].DisplayIndex = 1;


برای داشتن تغییرات در اجرای مجدد هم باید آیتم ها لیست باکس هاتون رو در یه فایل یا در رجیستری ذخیره کنید و در فرم لود اونها رو بخونید و روی گرید اعمال کنید.
سرچ بزنید هست

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

ghamgin
چهارشنبه 30 فروردین 1391, 17:03 عصر
خوب این کار رو باید با همین کدهایی که گفته شد بنویسید یعنی ستونهایی که کاربر به لیست باکس دوم اضافه میکنه باید نمایش داده بشند پس از لیست باکس اول حذف کنید. پس لیست باکس اول نام ستونهایی که باید مخفی بشند و لیست باکس دوم ستون هایی که باید نشون داده بشند.


foreach (string s in listBox1.Items)
{
dataGridView1.Columns[s].Visible = false;
}

foreach (string s in listBox2.Items)
{
dataGridView1.Columns[s].DisplayIndex = listBox2.Items.IndexOf(s);
}


----
سلام
ممنون که راهنمایی میکنید
این کد رو کجا بنویسم؟؟؟
هر جا امتحانش کردم این خطا رو داد
Object reference not set to an instance of an object.
خواهش می کنم راهنمایی بفرمایید (که چطور انتقال های توی لیست باکس ها رو روی گرید اعمال کنم و ثابت تا اجرای بعدی نگه شون دارم)
(میشه خواهش کنم یک نمونه برام بذارید)
ممنون

ghamgin
پنج شنبه 31 فروردین 1391, 16:54 عصر
اینو به نگاه بنداز

85987

در مورد ذخیره تغییرات هم گفتم سرچ کنید.

------


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

ghamgin
جمعه 01 اردیبهشت 1391, 09:56 صبح
منظورم این بود که اگر میخواید این تغییر در ترتیب ستون ها و ... در اجراهای بعدی هم باقی بمونه وقتی برنامه اجرا میشه باید نام ستونهای مورد نظر رو که ذخیره کردید نشون بدید یا حذف کنید، که این کار باید در لودفرم فرمی که گرید توش هست انجام بشه. این ربطی به اطلاعات داخل گریدویو نداره.

---
سلام
میشه یه لطفی کنید و بگید چطوری؟(یا بزحمت روی نمونه ارسالی بگید..؟)
آخه من نمی دونم منظور شما رو چطور روی گرید پیاده کنم...!؟