我想通过在c#.net的文本框中搜索类似的值来对特定的单元格值求和

我想将“Total Stock”列加到“Part Description”列的类似值中,并在DataGridView中显示结果,即如果“Part Description”值等于“Head”总库存值将是所有记录的总和具有相同的描述:

描述和总库存

这是我到目前为止所尝试的:

int sum=0; for (int A = 0; A < dataGridView2.Rows.Count; ++A) { sum += Convert.ToInt32(dataGridView2.Rows[A].Cells["totalstockDataGridViewTextBoxColumn"].Value.ToString()); } txttotalstock.Text = sum.ToString(); 

这是查询和将数据绑定到网格的代码:

 SqlCommand cmdshowdata = new SqlCommand(@"SELECT [SN] ,[partnum] as [Part Number] ,[partdesc] as [Part Description] ,[partmodel] as [Part Model] ,[stockin] as [Stock IN] ,[dateofstockin] as [Date of StockIN] FROM [startfresh].[dbo].[Tbl_SpareParts]", conn); SqlDataAdapter sda233 = new SqlDataAdapter(); sda233.SelectCommand = cmdshowdata; DataTable datatbldata = new DataTable(); sda233.Fill(datatbldata); BindingSource binddatasource = new BindingSource(); binddatasource.DataSource = datatbldata; dataGridView1.DataSource = binddatasource; sda233.Update(datatbldata); this.dataGridView1.Columns[0].Visible = false this.dataGridView1.Columns[1].Visible = false; this.dataGridView1.Columns[2].Visible = false; this.dataGridView1.Columns[3].Visible = false; this.dataGridView1.Columns[4].Visible = false; this.dataGridView1.Columns[5].Visible = false; this.dataGridView1.Columns[6].Visible = false; 

您可以在查询中使用组来包含计算列:

 SELECT s.SN, s.partnum AS [Part Number], s.partdesc AS [Part Description], s.partmodel AS [Part Model], s.stockin as [Stock IN], dateofstockin AS [Date of StockIN], (SELECT SUM(stockin) FROM Tbl_SpareParts GROUP BY partdesc HAVING partdesc=s.partdesc) AS [Total Stock] FROM Tbl_SpareParts AS s 

然后你可以在你的网格中显示它。