如何从datagridview列获取标签上的总和 [英] How to get sum on label from datagridview column

查看:118
本文介绍了如何从datagridview列获取标签上的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的意思是说是



i有



1)Datagridview

2)datagridview中的4列...即id,name,subject,mark

3)datagridview下的标签

4)我想得到所选行的总和标记列...即如果想要获得2行的总和,那么我必须得到2个主题的总和但不是总标记列总和



i已经尝试但是我我没有得到拖延行



我尝试过:



private void dataGridView1_CellClick(object sender,DataGridViewCellEventArgs e)

{

int sum = 0;

int i = e.RowIndex;

DataGridViewRow selectedrow = dataGridView1.Rows [i];

sum + = Convert.ToInt32(selectedrow.Cells [6] .Value);

label1 .Text = sum.ToString();

}













也尝试了这个



private void autosum()

{

int sum = 0;

for(int i = 0; i< dataGridView1.Rows.Count; ++ i)

{

sum + = Convert.ToInt32( dataGridView1.Rows [i] .Cells [6] .Value);

}



label1.Text =总和是: + sum.ToString();

}

i mean say is

i have

1) Datagridview
2) 4 columns in datagridview...ie id,name,subject,marks
3) label under datagridview
4) i want to get sum of selected row of marks column...ie if want to get sum of 2 rows then i have to get sum of 2 subjects only but not total marks column sum

i have tried but i am not getting for dragged row only

What I have tried:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int sum = 0;
int i = e.RowIndex;
DataGridViewRow selectedrow = dataGridView1.Rows[i];
sum += Convert.ToInt32(selectedrow.Cells[6].Value);
label1.Text = sum.ToString();
}






Also tried this

private void autosum()
{
int sum = 0;
for(int i = 0;i<dataGridView1.Rows.Count;++i)
{
sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[6].Value);
}

label1.Text = "Total sum is :" + sum.ToString();
}

推荐答案

引用:

我想获得所选行标记列的总和

i want to get sum of selected row of marks column



如果我理解正确,你想得到 DataGridView.SelectedRows [ ^ ]然后显示ス标签中的m(标记)

因此,您应该使用 DataGridView.SelectionChanged事件(System.Windows.Forms) [ ^ ]能够实现这一目标。在该事件(事件正文)中使用以下代码:


If i understand you correctly, you want to get collection of DataGridView.SelectedRows[^] then to display sum(marks) in label.
So, you should use DataGridView.SelectionChanged Event (System.Windows.Forms)[^] to be able to achieve that. Use below code inside that event (body of event):

int sum = 0;
foreach(DataGridViewRow dgr in dataGridView1.SelectedRows)
{
    sum+= dgr[6].Value;
}
label1.Text = sum.ToString();





另一种方法是使用 Linq [ ^ ]:



Another way is to use Linq[^]:

label1.Text = dataGridView1.SelectedRows.Cast<DataGridViewRow>().Sum(dgr=>dgr.Cells[6].Value).ToString();


这篇关于如何从datagridview列获取标签上的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆