View Full Version : جمع مقادیر ستونها در آخرین سطر دیتا گرید
mitra285
چهارشنبه 28 مهر 1389, 21:02 عصر
با سلام
من یک دیتا گرید دارم که داری 3 تا ستون هست
حالا می خوام جمع هر کدام از این 3 تا ستون به صورت خودکار تو آخرین سطر این ستونها در دیتا گرید اضافه بشه.
از چه کدی باید استفاده کنم ؟
ممنون می شم راهنمایی کنید.
b.mahsa
چهارشنبه 28 مهر 1389, 21:34 عصر
Dim sum As String
Dim count As Integer = DataGridView1.Rows.Count
For i = 0 To DataGridView1.Rows.Count
sum = sum + CInt(DataGridView1.Rows(i).Cells(4).Value.ToString )
Next
DataGridView1.Rows(count).Cells(4).Value = sum
mitra285
چهارشنبه 28 مهر 1389, 21:50 عصر
ممنون اما خطا می گیره :
تصویر رو ضمیمه کردم .
b.mahsa
چهارشنبه 28 مهر 1389, 21:56 عصر
متن eror تون میگه که سطری تو اون index وجود نداره .
Dim sum As String
Dim count As Integer = DataGridView1.Rows.Count-1
For i = 0 To DataGridView1.Rows.Count-1
sum = sum + CInt(DataGridView1.Rows(i).Cells(4).Value.ToString )
Next
این رو تست کنین. اگر سطر اخر گرید خالی باشه جواب میده اگر نه که.شما باید اول یه سطر اضافه کنید به data grid .
حالا چرا میخواید مقدار Sum رو تو datagrid نشون بدین؟
میتونین تو textbox زیر datagrid نشون بدین.
omid-vbAuto
چهارشنبه 28 مهر 1389, 22:29 عصر
salam
shoma toie gesmate shomaree sotoneton irad daren .
az code zer astefade kon,albate zamee soton haro be asme form mede.
Dim s As Single
Dim count As Integer = DataGridView1.Rows.Count
On Error Resume Next
For i = 0 To DataGridView1.Rows.Count - 1
s += CInt(DataGridView1.Rows(i).Cells(0).Value.ToString )
Next
Me.Text = s
alimanam
پنج شنبه 29 مهر 1389, 11:26 صبح
با سلام
جواب کامل شما این میشه با یه مثال ساده . ( جمع مقادیر هر ستون در آخرین رکورد دیتاگرید ویو ) موفق باشید .
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 10
dg.Rows.Add()
Randomize()
dg.Rows(i).Cells(0).Value = i + 1
dg.Rows(i).Cells(1).Value = Int((1 + 25) * Rnd())
dg.Rows(i).Cells(2).Value = Int((1 + 50) * Rnd())
Next
dg.Rows.Add()
dg_CurrentCellChanged(sender, e)
End Sub
Private Sub dg_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dg.CurrentCellChanged
dg.Item(0, dg.Rows.Count - 1).Value = 0
dg.Item(1, dg.Rows.Count - 1).Value = 0
dg.Item(2, dg.Rows.Count - 1).Value = 0
Dim sum1, sum2, sum3 As Integer
For i = 0 To dg.Rows.Count - 1
sum1 += CInt(dg.Rows(i).Cells(0).Value)
sum2 += CInt(dg.Rows(i).Cells(1).Value)
sum3 += CInt(dg.Rows(i).Cells(2).Value)
Next
dg.Item(0, dg.Rows.Count - 1).Value = sum1
dg.Item(1, dg.Rows.Count - 1).Value = sum2
dg.Item(2, dg.Rows.Count - 1).Value = sum3
End Sub
End Class
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.