PDA

View Full Version : تعداد سطرهای انتخاب شده در لیست باکس



leilijan
شنبه 17 تیر 1385, 10:55 صبح
من یک لیست باکس دارم که در آن نام محصولات نمایش داده می شود.خاصیت selectionmode را هم برابر Multiple قرار دادم.
حالا می خوام تعداد سطرهای انتخاب شده در لیست باکس را بدست بیارم که از طریق آن اطلاعات تمام سطرهای انتخاب شده را در صفحه دیگری در یک گرید نشان دهم.
لطفا راهنمایی کنید.

nazaninam
شنبه 17 تیر 1385, 11:27 صبح
توی یک حلقه فور یک شرط بگذار که اگه انتخاب شده بود بریزش توی یک آرایه یا آرایه لیست
نکته بعدی اینه که میخوای بفرستیش توی یک صفحه دیگه
خوب راحت ترین راه اینه که مثلا اون آرایه رو بریزی توی یک سشن و توی صفحه بعد یک آرایه لیست تعریف کن و اون سشنو رو بریزی توی آرایه لیستی که تعریف کردی و بخونی و توی یک گرید نمایش بدی


Dim myarray As New ArrayList
For Each litem As ListItem In ListBox1.Items

If litem.Selected = True Then
myarray.Add(litem.Value)
End If

Next

خوب حالا میریزمش تو سشن که گفتم




Session("myarr") = myarray


حالا باید بریم توی صفحه دوم




Dim myarray2 As New ArrayList
myarray2 = Session("myarr")
For count As Integer = 0 To myarray2.Count - 1
Response.Write(myarray2(count))
Next




الان تمام اونایی که انتخاب شده بودن رو نمایش دادیم
حالا میتونیستم توی یک گرید نشونش بدیم خیلی ساده :



datagrid1.datasource = myarray2
datagrid1.databind()

leilijan
شنبه 17 تیر 1385, 12:21 عصر
نازنین جان مرسی از توضیحاتت.
حالا اگر نخوایم از آرایه استفاده کنیم،چه جوری می تونیم تعداد سطرهای انتخاب شده در لیست باکس رو بدست بیاریم؟من تعدادش رو لازم دارم.

nazaninam
شنبه 17 تیر 1385, 13:03 عصر
با همون حلقه فور کانت تعدادشو بهت میده دیگه

leilijan
یک شنبه 18 تیر 1385, 06:08 صبح
مرسی از توضیحاتت.اما میدونی من می خوام چیکار کنم؟!فرض کن توی صفحه اول من یه لیست باکس دارم که توی اون نام محصولاتم هست و Value اونها هم کدشونه!حالا من می خوام وقتی کاربر از این لیست یه تعدادی رو انتخاب می کنه و برای نمایش اطلاعات دیگه ی محصولات انتخابی، روی دکمه ای می زنه من بتونم Value های تمام سطرهای انتخابی رو به صفحه دوم منتقل کنم که بعد توی دستور Select صفحه دوم بگم که مثلا کل اطلاعات محصولاتی رو بیاره که کدهاشون هست مثلا 10،15،20،30و... (هموم Value های انتخابی)امیدوارم منظورمو درست بیان کرده باشم.

nazaninam
یک شنبه 18 تیر 1385, 10:11 صبح
ببینید دوست عزیز ، من دقیقا متوجهم که شما میخواهید چی کار کنید چون این کار رو بار ها انجام دادم
کدی که من نوشتم و توضیحات کاملی که خدمتتون دادم دقیقا همون چیزیه که شما میخواید با این تفاوت که یه بخش که از دیتابیس اطلاعات مربوط به Value های تمام سطرهای انتخابی است رو دیگه گذاشتم به عهده خودتون چون واقعا توضیحات و کد ها کامل هست و اون مقدار باقی مانده فوق العاده ساده است
خودتون هم کمی تلاش کنید کد بنویسید اگر در کد نویسی مشکل داشتید از بنده در همین تاپیک بپرسید تا جواب بدم

ghafoori
یک شنبه 18 تیر 1385, 12:59 عصر
همون کدی که نازنین نوشته که مقدار هر ایتم را به صفحه بعد منتقل میکند که درسته شما فقط بجای کد

Response.Write(myarray2(count))

کد تولید رشته تقاظا را بزاری مثلا یک همچین کدی


Dim myarray2 As New ArrayList
myarray2 = Session("myarr")
Dim strsql As String
strsql = "select from costomer where "
For count As Integer = 0 To myarray2.Count - 1
strsql += "(code=" + myarray2(count).ToString + ") or "
Next

دیگه چه مشکلی دارید:لبخند:

nazaninam
یک شنبه 18 تیر 1385, 13:15 عصر
غفوری جان دمت گرم ولی کاش قضیه ماهی گیری رو همیشه یادمون باشه.. البته اینو باید اول به خودم بگم

leilijan
دوشنبه 19 تیر 1385, 07:10 صبح
ممنون از توضیحاتتون. اگه باز هم مشکلی بود مزاحمتون می شم.