PDA

View Full Version : سوال: انتخاب از گريد



karim orooji
شنبه 19 دی 1388, 13:12 عصر
با سلام به همه دوستان گلم
اين سوال رو براي سومين بار در اين سايت مطرح ميكنم
چطوري ميشه كه با استفاده از يك دكمه حدود مشخصي اسم و يا شماره و هر چيز ديگه از گريد براي من جدا كنه و 20 نفر رو براي مشخص كنه بريزه توي يك ليست باكس و يا هر چيز ديگه.....
مهمش اينه كه براي من جدا كنه
از دوستان اساتيد سايت ما رو راهنمايي كنند

f.nabavi
شنبه 19 دی 1388, 14:24 عصر
سلام . منظورتون از حدود مشخصی از گرید چیه؟ این حدود مشخص از گرید چه طوری انتخاب میشن؟ با موس؟ یا منظورتون cell هایی هست که شرایط خاصی داره؟

و 20 نفر رو برای مشخص کنه
منظورتون از بخش چیه؟

من سعی میکنم یه نمونه کد معمولی بذارم. اگر مشکلتون رو حل نکرد بگین

pourang_us
یک شنبه 20 دی 1388, 09:52 صبح
دوست عزیز
درود
من متاسفانه نتونستم منظور شما رو از این سوال متوجه بشم در سوالات قبلی هم همین منوال بود میتونید دقیق تر بفرمایید مشکل شما چی هست؟

چیزی که من متوجه شدم شاید اینطوری حل بشه شما زمانی که گرید رو پر میکنی کل ID های بانک رو بریزید داخل یک Arry List بعد هر بار که دکمه مورد نظر خودتون رو کلیک میکنید 20 تا از آرایه بخونه و بریزه داخل مثلا لیست باکس و از توی ArryList هم حذف کنه که تکراری نباشه
امیدوارم مشکل شما رو درست درک کرده باشم


موفق باشید

karim orooji
یک شنبه 20 دی 1388, 10:05 صبح
با سلام به دو دوست گرامي
اين برنامه مربوط به انتخاب افراد نگهبان ميباشد
منظور من اينه كه برام 20نفر انتخاب كنه

sari-1369
یک شنبه 20 دی 1388, 10:45 صبح
به صورت تصادفی خود برنامه 20 نفر رو انتخاب کنه ؟

karim orooji
یک شنبه 20 دی 1388, 11:14 صبح
سلام
اره براي اولين با كه ميخواد انتخاب كنه
ولي براي دومين با نميخوام از اين نفراتي كه با ر اول لنتخاب شده اند انتخاب بشه

به يكي از بچه كفتم ايم سوال رو اين كد رو برام نوشت ولي هيچ چيز ازش حاليم نميشه چو به زبون c# نوشته شده




int[] id = new int[20];
string stridha = "";
random n = new random();
for(int i=0; i<20; i++)
stridha += n.next().tostring() + ",";
stridha=stridha.substring(0,stridha.len -1 );
select * from users where id in(@idha);
cmd.parameters.addwithvalue("@idha,stridha");
cmd.execut readar();
cmd.commandtext="update users set idselected=1 where id in (@idha);
cmd.excutnonquary();

sari-1369
یک شنبه 20 دی 1388, 12:16 عصر
فکر کنم این نمونه کد کارتو راه بندازه ( شاید بهینه نباشه )



Dim L(19) As Integer
Dim B As Boolean
For i = 0 To 19
Randomize()
Dim s As Integer = Rnd() * dgv.RowCount - 1
For j = 0 To i
If s = L(j) Then
B = True
Exit For
Else
B = False
End If
Next
If B = True Then
i = i - 1
Else
L(i) = s
ListBox1.Items.Add(dgv.Rows(s).Cells(0).Value.ToSt ring)
End If
Next


اینم یه نمونه پروژه

karim orooji
یک شنبه 20 دی 1388, 15:33 عصر
دوباره سلام واقعاً دستت درد نكنه
من چيز زيادي از برنامه نويسي نميدونم فقط يك دوره بانكهاي اطلاعاتي و يكم وي بي ياد گرفتم
اگه زياد سوال ميكنم ببخشيد

حالا من ميخوام بياد برام زماني 20 نفر ديگه براي بار دوم انتخاب بشند تكراري نباشه

ممنون ميشم كه بازم كمكم كني

sari-1369
یک شنبه 20 دی 1388, 22:58 عصر
بار دوم کی هستش ؟ اگر قبل از ازدست دادن لیست فعلی هستش ، هر عدد که تولید میشه بایه حلقه For و یه دستور If میتونی ببینی تکراری هست یا نه . اگر هم برنامه بسته میشه ، باید لیست فعلی رو توی بانک یا فایل ذخیره کنی و در مرطبه های بعدی با همون حلقه و دستور شرطی چک کنی .

یکم روش کار کن ، اگه نتونستی کمکت میکنم .