如何从datagridview列获取标签上的总和 [英] How to get sum on label from datagridview column
问题描述
我的意思是说是
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();
Another way is to use Linq[^]:
label1.Text = dataGridView1.SelectedRows.Cast<DataGridViewRow>().Sum(dgr=>dgr.Cells[6].Value).ToString();
这篇关于如何从datagridview列获取标签上的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!