PDA

View Full Version : سوال: انتخاب کردن سطر گرید بر اساس محتویات خودش



sadaf_
جمعه 18 آذر 1390, 17:31 عصر
در DataTableی مقدارهایی به این صورت ریختم :
0101
0102
0103
0104
0201
0202
0203
و اینها رو در گرید ریختم حالا من با چه دستوری می تونم کاری کنم که اگر کاربر می خواست 0104 رو انتخاب کنه درصورتی ادامه کار انجام بشه که 0104 از 01 ها بزرگتره و برای انتخاب 0101 و 0102و0103 یک پیغام نمایش بدم؟
ممنون

reza_mostafavi63
جمعه 18 آذر 1390, 18:18 عصر
ادامه کار انجام بشه که 0104 از 01 ها بزرگتره و برای انتخاب 0101 و 0102و0103 یک پیغام نمایش بدم؟

سوالتون رو واضح تر توضيح بدين

h-rafiee
جمعه 18 آذر 1390, 19:11 عصر
همونگونه که دوستمون گفتن سوالتون رو واضح تر بنویسین با تشکر

sadaf_
شنبه 19 آذر 1390, 10:54 صبح
کاربر فقط بتونه بزرگترین هر دسته رو انتخاب کنه
یعنی در دسته 01 ها فقط 0104
در دسته 02ها فقط 0203
ممنون

az.heidarzadeh
شنبه 19 آذر 1390, 11:21 صبح
بازم سوالتون خیلی نامشخص بود بهرحال شما روی اطلاعات داخل گریدتون کاملا تسلط دارید و میتونید هرکاری که میخواید انجام بدید مثلا توی event RowEnter میتونید مشخص کنید اگه مقدار داخل سلول مورد نظرتون از یه مقداری بیشتر بود پیغام بده


dgvMaster.Rows[e.RowIndex].Cells["vcID"].Value.ToString();

این خط کد توی dgvMaster_RowEnter مقدار ستون vcID سطری که انتخاب شده رو بهتون میده...

ali_habibi1384
شنبه 19 آذر 1390, 13:39 عصر
منظورت از اينكه بتونه انتخاب كنه چيه؟! اين مقدارها بايد توي يك كومبو بياد يا توي يك تكست باكس ميخواد تايپ كنه؟اين گروهي كه ميگي در كجا تشكيل شده؟
سوالتونو واضح بگيد چي ميخوايد!

sadaf_
شنبه 19 آذر 1390, 13:50 عصر
من با توجه به محتویات داخل گرید یک DataTable رو پر کردم و در فرمی دیگر و در یک گرید اون به این صورت نمایش می دم
0101
0102
0103
0104
0201
0202
0203
در اینجا به خاطر دو رقم اول
دو دسته داریم یکی اونهایی مه با 01 شروع و دیگری با 02
و بزرگترین اینها در دسته 01 -------> 0104 می باشد
و دیگری در دسته 02 -----------> 0203
و کاربر فقط مجاز که یکی از این دو رو انتخاب کنه یا 0104 یا 0203
من چطوری کنترل کنم که بزرگترین هر دسته کدامند؟
ممنون

ali_habibi1384
شنبه 19 آذر 1390, 14:46 عصر
يه ستون موقت درست كن كه مقدار عددي ستون دسته ها رو داشته باشي و توي اون مثلا اگر 0102 باشه توي ستون موقت مقدار عددي اون يعني 102 قرار خواهد داشت .حال با توجه به اسم ستون اصلي رو ميذارم group و ستون موقتي كه ساخته ميشه ميذارم ValGroup حال يه دستور like مينويسي حالا يا با select يا filter ميشه ماكس هر گروه رو برگردوند:


max(ValGroup) ... where (group like '01%')

اين الگوريتمو خودت تعميمش بده :چشمک:

sadaf_
شنبه 19 آذر 1390, 14:54 عصر
من در table چیزی ذخیره نکردم فقط در گرید یه سری داده هایی هست که بعد از زدن کلیکی از سوی کاربر اون ها رو تبدیل می کنم به 01 ها و 02 ها و ... وبا هر رکوردی که کاربر می زنه یکی به اینها اضافه می شه و در نهایت ذخیره می شه من فکر میکنم 2 تا حلقه می خواد یکی برای جدا کردن 01 ها و ... و یکی هم برای شناختن بزرگترین ها