PDA

View Full Version : رنگي كردن سطرهاي قسمتي از ديتاگريد



parselearn
دوشنبه 11 بهمن 1389, 03:06 صبح
من براي رنگي كردن سلولها از حلقه استفاده ميكنم
اما اين روش هنگامي كه تعداد سطرها زياد هست، كاري زمانبر هست

حالا آيا راهي هست هنگامي كه ديتاگريد اسكرول ميشه سطر اولي كه نمايش داده ميشه رو پيدا كرد تا بشه مثلا تا 20 تا جلو تر را تغيير رنگ داد؟

ali_najari
دوشنبه 11 بهمن 1389, 16:47 عصر
من براي رنگي كردن سلولها از حلقه استفاده ميكنم
اما اين روش هنگامي كه تعداد سطرها زياد هست، كاري زمانبر هست

حالا آيا راهي هست هنگامي كه ديتاگريد اسكرول ميشه سطر اولي كه نمايش داده ميشه رو پيدا كرد تا بشه مثلا تا 20 تا جلو تر را تغيير رنگ داد؟


دوست عزيز من اصلا من منظورت رو نفهميدم كه ميخواهيد كه چيكار كنيد اگر لطف كنيد بيشتر توضيح دهيد ممنون ميشم

parselearn
دوشنبه 11 بهمن 1389, 16:56 عصر
سوال رو خوب مطرح نكردم
در حال حاظر من از اين كد براي رنگي كردن زمينه سطرها استفاده ميكنم


For i As Integer = 1 To (dgvInfo.Rows.Count - 1) Step 2
dgvInfo.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
Next

كه روش زمانبري هست.

اگر روش بهتري داريد بيان كنيد


فرض كنيد من ديتاگريدي دارم كه 15000 سطر داره
اگر پنجره هم با اندازه max نمايش داده بشه، براي مثال تعداد سطرهايي كه در ديتاگريد نمايش داده ميشه 20 عدد هست
حالا مي خواهم بعد از اينكه اسكرول تكميل شده سطرهايي كه نمايش داده ميشه را (مثال: از 5000 تا 5020) رنگي كنم
مشكل در پيدا كردن سطر اولي هست كه نمايش داده ميشه




در كل فكر كنم روشم درست نيست!

ali_najari
دوشنبه 11 بهمن 1389, 17:56 عصر
دوست عزيز شما بايد خاصيت AlternatingRowsDefaultCellStyle استفاده كنيد و رنگ و فونت مورد نظرتون را اعمال كنيد در اين صورت بصورت اتوماتيك سطرهاي ديتاگيريد ويو يك در ميان رنگي ميشود. (backColor)