PDA

View Full Version : حذف يك آيتم موجود در لسيت باكس



behroz1387
جمعه 15 خرداد 1388, 01:15 صبح
دوستان عزيز خيلي سرچ كردم واقعا به نتيجه نرسيدم اگه مي شه كسي كمك كنه كه در ليست باكسي كه توسط ديتا بيس پر مي شود چطوري مي توان ايتم خاصي از اونه حذه كرد و يا آيتمي به آن اضافه نمود


سوال دومم اينكه اگه بخواب ليست باكس از طريق يك فايل تكست پر شود من كد زير را نوشتم اما به قسمتي كه رنگي كردم ايراد مي گيره كه رفرينس يا using آن فراموش شده است

listBox1.Items.LoadFromFile("C:\test.txt");


ممنون مي شم اگه كسي جوابمو بده

HamidNazari
جمعه 15 خرداد 1388, 07:49 صبح
دوست عزیز وقتی لیست باکس دارای DataSource هست ، نمیشه آیتمی رو ازش پاک کرد و برای این کار باید اون آیتم رو از DataSource و یا BindingSource مربوطه حذف کرد ، مثلاً :

bindingSource.List.Remove(bindingSource.List[0]);

دقت داشته باشین که تو این سناریو به عنوان آرگومان متد Remove نمیتونین اسم یا مقدار اون آیتم رو بهش بدین .

در مورد سوال دومتون هم باید عرض کنم که پراپرتی Items که از جنس ObjectCollection (http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.objectcollection_memb ers%28VS.71%29.aspx) هست متدی به اسم LoadFromFile نداره و بنابراین اون خطا رو به شما میده .

behroz1387
دوشنبه 18 خرداد 1388, 01:15 صبح
دوست عزيز كدي كه نوشتي ارور مي ده
جواب سوال دومم را هنوز نگرفتم اگه كد اشتباه است لطفا درستشو بنويسيد
ممنونم

HamidNazari
دوشنبه 18 خرداد 1388, 09:30 صبح
عزیزم معلومه که ارور میده من که نمیدونم کد شما چیه ... یه چیز فرضی نوشتم . به هر حال ، چون لیست باکس شما توسط یه Datasource پر میشه ، نمیشه آیتم هاش رو مستقیماً از خود لیست باکس پاک کرد . برای این کار باید اون آیتم رو (موقتاً) از دیتاسورس حذف کنی . اون خطی هم که من نوشتم فرض کردم یه آبجک از نوع BindingSource داره لیست باکس رو پر می کنه و ازش آیتم مورد نظرم رو پاک کردم .

سوال دوم رو هم ساده تر جواب بدم اصلاً متدی به اسم LoadFromFile وجود نداره . شما بزن LoadFromAsghar بازم همون ارور رو میده بهت . اگه میخوای این کار رو انجام بدی ، باید مثلاً با یه StreamReader فایل مورد نظرت رو باز کنی و تو یه حلقه دونه دونه آیتم ها رو بهش اضافه کنی .