View Full Version : مجموع ستون ها در VSFlexGrid
samiasoft
دوشنبه 25 اسفند 1393, 14:29 عصر
سلام دوستان
در VSFlexGrid برای اینکه مجموع ستون اول رو بدست بیارم بدین صورت عمل کردم :
For i = 1 To 15
text1.text= Text1.Text + VSFlexGrid1.TextMatrix(i, 1)
next
حال میخواستم برای ستون 2 اینطور عمل کنم :
(این رو برای 4 ردیف نوشتم. اما همانند این رو برای 15 ردیف میخواستم)
ردیف اول ستون دوم=ردیف چهارم ستون اول + ردیف سوم ستون اول + ردیف دوم ستون اول + ردیف اول ستون اول
ردیف دوم ستون دوم =ردیف چهارم ستون اول + ردیف سوم ستون اول + ردیف دوم ستون اول
ردیف سوم ستون دوم=ردیف چهارم ستون اول + ردیف سوم ستون اول
اخرین ردیف ستون دوم = اخرین ردیف ستون اول
http://samisoft.ir/1/images/zxSX.gif
ممنون میشم منو راهنمایی کنید.
ahmad abdoli
دوشنبه 25 اسفند 1393, 17:39 عصر
سلام
نمی دونم جواب می ده یا نه ولی خودت امتحان کن من که امتحان نکردم
For i = 1 To 15
For j = 15 To i Step -1
Sum = Sum + vs.TextMatrix(j, 1)
Next j
vs.TextMatrix(i, 2) = Sum
Next i
samiasoft
دوشنبه 25 اسفند 1393, 20:08 عصر
سلام
نمی دونم جواب می ده یا نه ولی خودت امتحان کن من که امتحان نکردم
For i = 1 To 15
For j = 15 To i Step -1
Sum = Sum + vs.TextMatrix(j, 1)
Next j
vs.TextMatrix(i, 2) = Sum
Next i
کدتون تا حدی درسته اما بصورت برعکس اعداد رو جمع کرده هرکار کردم باز نتونستم به اون چیزی که میخوام تغییرش بدم:متفکر: در واقع میخواستم بصورت تصویر زیر باشه :
http://samisoft.ir/1/images/jUqa.gif
ahmad abdoli
دوشنبه 25 اسفند 1393, 22:46 عصر
دوست عزیز من طبق پست اول که مثال زدید کد رو نوشتم ولی حالا اشکال نداره حلقه داخلی رو مقدار اولیش رو روی 1 تا i-15 بزارید و step - 1 رو هم پاک کنید درست می شه
For i = 1 To 15
For j = i To 15
Sum = Sum + Val(VS.TextMatrix(j, 1))
Next j
VS.TextMatrix(i, 2) = Sum
Sum = 0
Next i
ahmad abdoli
دوشنبه 25 اسفند 1393, 23:38 عصر
معذرت می خوام بابت بی توجهی توی کد الان کد رو تصحیح کردم و درست چیزیه که شما می خوایید
samiasoft
سه شنبه 26 اسفند 1393, 00:14 صبح
دوست عزیز من طبق پست اول که مثال زدید کد رو نوشتم ولی حالا اشکال نداره حلقه داخلی رو مقدار اولیش رو روی 1 تا i-15 بزارید و step - 1 رو هم پاک کنید درست می شه
For i = 1 To 15
For j = i To 15
Sum = Sum + Val(VS.TextMatrix(j, 1))
Next j
VS.TextMatrix(i, 2) = Sum
Sum = 0
Next i
متاسفانه کدتون بازم اونی نیست که میخواستم:لبخند:در این کد هم وقتی Sum = 0 رو پاک نکنم کلا درست نمایش نمیده.الان کد نوشتاری شما ارایش جدول رو بصورت زیر درست میکنه :
http://samisoft.ir/1/images/nsaw9.gif
اما من میخواستم بطور زیرباشه
http://samisoft.ir/1/images/jUqa.gif
ahmad abdoli
سه شنبه 26 اسفند 1393, 02:43 صبح
دوست عزیر نمونه رو ببینید مشکلی نداره
فقط به جای عدد از حرف استفاده کردم که معلوم بشه کد درست عمل می کنه
129500
samiasoft
سه شنبه 26 اسفند 1393, 15:45 عصر
دوست عزیر نمونه رو ببینید مشکلی نداره
فقط به جای عدد از حرف استفاده کردم که معلوم بشه کد درست عمل می کنه
129500
با تشکر از شما فقط یه مشکلی هست وقتی ستون اول دارای اعداد ممیزدار باشند حاصلشون رو درست محاسبه نمیکنه. من حتی از val هم استفاده کردم اما نشد
http://samisoft.ir/1/images/Q7IYa.gif
samiasoft
سه شنبه 26 اسفند 1393, 15:57 عصر
فک کنم مشکل با ممیز بصورت / بود که وقتی جمع بسته میشد دچار اشکال میشد که با دستور رپلیز اونو به نقطه تبدیل کردم و اینطوری نوشتم.الان درست شد.رقم اعشارش رو هم تا 2 رقم گرد کردم
For i = 1 To 4
For j = i To 4
p = Val(Sum) + Val(VSFlexGrid1.TextMatrix(j, 1))
Sum = Replace(p, "/", ".")
s = InStr(1, Sum, ".")
If s <> 0 Then Sum = Left$(Sum, s + 2) Else: Sum = Sum & ".00"
Next j
VSFlexGrid1.TextMatrix(i, 2) = Sum
Sum = ""
Next
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.