PDA

View Full Version : سوال: چطور در برنامه ميتوانم به صورت ديناميك يك ليست باكس را پر كنم؟



c#_web
شنبه 28 اردیبهشت 1387, 18:05 عصر
در برنامه ام در صفحه اي كه مشخصات كاربر را وارد ميكنم هر شخص ميتونه چند تلفن داشته باشه.
براي اينكار يك textbox و يك listboxويك دكمه addو يك دكمه del گذاشته ام.
كه هر شماره اي را كه در textbox نوشت و دكمه add را زد آن شماره در listbox اضافه شود.
اگر هم روي شماره اي در listbox كليك كرد و سپس دكمه del را زد آن شماره از listbox حذف شود.
و سپس در دكمه save در برنامه همه شماره هاي موجود در listbox را در ديتابيس ذخيره كند.
حالا براي اينكار البته دردات نت 2005 براي add و يا del كردن از listbox چه كار بايد بكنم؟

Mahdi.Kiani
شنبه 28 اردیبهشت 1387, 19:16 عصر
در برنامه ام در صفحه اي كه مشخصات كاربر را وارد ميكنم هر شخص ميتونه چند تلفن داشته باشه.
براي اينكار يك textbox و يك listboxويك دكمه addو يك دكمه del گذاشته ام.
كه هر شماره اي را كه در textbox نوشت و دكمه add را زد آن شماره در listbox اضافه شود.
اگر هم روي شماره اي در listbox كليك كرد و سپس دكمه del را زد آن شماره از listbox حذف شود.
و سپس در دكمه save در برنامه همه شماره هاي موجود در listbox را در ديتابيس ذخيره كند.
حالا براي اينكار البته دردات نت 2005 براي add و يا del كردن از listbox چه كار بايد بكنم؟
کلاس هایی که از کلاس ListControl ارث بری می کنند، دارای خاصیتی به نام Items می باشند ک هدر این خاصیت متد هایی برای Add، Remove و ... وجود داره

مثلا




listBox1.Items.Add(...);
listBox1.Items.Remove(..);

twelve
شنبه 28 اردیبهشت 1387, 19:39 عصر
من فکر کنم مشکل ایشون در ارسال همزمان ایتم های لیست به دیتابیس هست درسته ؟
در این دو راه دارید
1- استفاده از sp و نوشتن چند دستور Insert
2- استفاده از sp و ترکیب دستور Insert و دستور Union Select



با تبریک دوباره قهرمانی رویایی و دراماتیک پرسپولیس به همه میهن پرستان اصیل ایرانی و کوروش کبیر علیه السلام

svm-webmaster
شنبه 28 اردیبهشت 1387, 19:53 عصر
از خاصیت add و remove خاصیت item کنترل listbox استفاده کن.
در ضمن شما می توانید آرایه ای از شماره تلفن ها ایجاد کنید و در زمان ثبت نهایی استفاده کنید که مجبور نشوید با هر بار Add کردن یا برعکس del کردن یک item به پایگاه وصل شوید و عمل insert را انجام دهید.

c#_web
یک شنبه 29 اردیبهشت 1387, 22:43 عصر
من نميخواهم هر بار آنها را در ديتابيس ذخيره كنم.
فقط جنبه نمايشي دارد تا شخص بداند چه شماره هايي وارد كرد.
اما اينرا هم ميدانم كه بايد آنها را با كاما بهم چسبانده و در ديتابيس ذخيره كنم.
منظورم اين بود در vs2005 براي add كردن به list box آيتم ميخواهد و كد زير را قبول نميكند.


list.items.add(txtTel.text);

و نيز براي حذف هر عنصر انتخابي در listbox هر مرتبه selectedindex از آن listbox=0 است و نميتوانم عنصر انتخابي را با كد زير حذف كنم. بلكه هر بار عنصر اول list را پاك ميكند.

]
int i=list.selectedindex;
list.items.removeat[i];



حالا مرا راهنمايي كنين چه كاركنم؟

twelve
یک شنبه 29 اردیبهشت 1387, 23:12 عصر
سوالتون رو واضح نمیپرسید ، با مقایسه دو سوالتون با هم مشخص میشه که صورت سوال عوض شده!
به هر حال برای این منظور :
INSERT


List.Items.Insert(0,"text")

REMOVE


List.Items.RemoveAt(0)

c#_web
دوشنبه 30 اردیبهشت 1387, 23:04 عصر
اگه تو listbox ده تا تلفن را واردكرده باشه وقتي روي يكي از انها كليك كرد و خواست آنرا حذف كند (دكمه del را بزنه) از كجا بفهمم كدام عنصر است تا در


List.Items.RemoveAt(0)

آنرا پاس بدهم.
البته همانطور كه گفتم selected index همواره 0 را برميگرداند.

twelve
سه شنبه 31 اردیبهشت 1387, 01:15 صبح
ListBox1.Items.Insert(ListBox1.Items.Count, TextBox1.Text)
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)

خط اول مقداری رو از ورودی میگیره و به لیست اضافه میکنه خط دوم ایندکس انتخابی رو حذف میکنه!