c# DataGridView添加合计行的例子

本文演示了如何使用C#编程语言实现数据表格的加载、读取和合计计算功能,包括创建数据集、填充数据行及计算合计行。
部署运行你感兴趣的模型镜像
      private void Form1_Load(object sender, EventArgs e)
        {          
            dataGridView1.DataSource = GetData();    
        }
     private void button1_Click(object sender, EventArgs e) 
     {
         DataGridView gw =dataGridView1;
         Total(gw);
     }
     //合计行
     public void Total(DataGridView dg)
     {     
         DataGridViewRow dgr = dg.Rows[dg.Rows.Count - 1];
         dgr.ReadOnly = true;       
         dgr.Cells[0].Value = "合计";
         for (int i = 0; i < dg.Rows.Count - 1; i++)
         {
             dgr.Cells[2].Value = Convert.ToSingle(dgr.Cells[2].Value) + Convert.ToSingle(dg.Rows[i].Cells[2].Value);
         }
     }
   
      private System.Data.DataTable GetData()
     {
         System.Data.DataTable tableInfo = new System.Data.DataTable();
 
         DataColumn dctime = new DataColumn("Time", Type.GetType("System.String"));
         DataColumn dcCity = new DataColumn("City", Type.GetType("System.String"));
         DataColumn dcCount = new DataColumn("Count", Type.GetType("System.Int32"));
         tableInfo.Columns.Add(dctime);
         tableInfo.Columns.Add(dcCity);
         tableInfo.Columns.Add(dcCount);
         DataRow dr = tableInfo.NewRow();
         dr["Time"] = "1:00";
         dr["City"] = "10";
         dr["Count"] = "15";
         tableInfo.Rows.Add(dr);
         DataRow dr1 = tableInfo.NewRow();
         dr1["Time"] = "2:00";
         dr1["City"] = "12";
         dr1["Count"] = "19";
         tableInfo.Rows.Add(dr1);
         DataRow dr2 = tableInfo.NewRow();
         dr2["Time"] = "3:00";
         dr2["City"] = "13";
         dr2["Count"] = "25";
         tableInfo.Rows.Add(dr2);
         DataRow dr3 = tableInfo.NewRow();
         dr3["Time"] = "4:00";
         dr3["City"] = "14";
         dr3["Count"] = "10";
         tableInfo.Rows.Add(dr3);
 
         DataRow dr4 = tableInfo.NewRow();
         dr4["Time"] = "5:00";
         dr4["City"] = "15";
         dr4["Count"] = "11";
         tableInfo.Rows.Add(dr4);
 
         DataRow dr5 = tableInfo.NewRow();
         dr5["Time"] = "6:00";
         dr5["City"] = "16";
         dr5["Count"] = "17";
         tableInfo.Rows.Add(dr5);
 
         DataRow dr6 = tableInfo.NewRow();
         dr6["Time"] = "7:00";
         dr6["City"] = "17";
         dr6["Count"] = "20";
         tableInfo.Rows.Add(dr6);
 
         DataRow dr7 = tableInfo.NewRow();
         dr7["Time"] = "8:00";
         dr7["City"] = "12";
         dr7["Count"] = "13";
         tableInfo.Rows.Add(dr7);
         return tableInfo;
     }

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

C#中为`DataGridView`控件添加合计是一种常见的需求,尤其是在展示表格数据时需要对某些列进汇总。以下是几种实现方式: ### 使用DataTable计算并添加合计 如果数据源是`DataTable`,可以通过在`DataTable`中添加用于显示合计信息。例如,使用`DataRow`来遍历所有数据,并计算每列的总和,然后将这一附加到`DataGridView`中[^2]。 ```csharp private void dataGridView_DataSourceChanged(object sender, EventArgs e) { DataGridView dgv = (DataGridView)sender; DataTable dt = (DataTable)dgv.DataSource; if (dt == null) return; decimal[] total = new decimal[dt.Columns.Count]; foreach (DataRow row in dt.Rows) { for (int i = 0; i < dt.Columns.Count; i++) { decimal value; if (decimal.TryParse(row[i].ToString(), out value)) { total[i] += value; } } } // 添加合计 DataRow dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { dr[i] = total[i]; } dt.Rows.Add(dr); } ``` ### 在DataGridView末尾手动添加合计 可以在每次数据源更新后,手动创建一个新,并将其背景色设置为红色以突出显示合计[^3]。 ```csharp private void button3_Click(object sender, EventArgs e) { this.dataGridView2.DataSource = dtstaticdata(); Smot(); // 假设Smot()方法负责计算合计dataGridView2.Rows[dataGridView2.Rows.Count - 1].DefaultCellStyle.BackColor = Color.Red; } ``` ### 使用两个DataGridView控件分离数据显示与合计 这种方法涉及使用两个大小相同的`DataGridView`控件,一个用于显示正常的数据记录,另一个仅用于显示合计。这种方式可以提供更好的视觉隔离效果,但会增加界面复杂度。 ### 利用第三方控件简化开发 对于希望快速实现功能而不愿意处理底层细节的情况,可以选择支持内置合计功能的第三方控件库,如DevExpress、Telerik等提供的高级控件。 ### 注意事项 - 在操作`DataTable`时,确保列类型正确,以便能够正确地解析数值。 - 当向`DataGridView`添加合计时,应考虑样式设置,使其区别于普通数据。 - 如果数据量较大,需要注意性能问题,避免频繁刷新或重新绑定数据源导致界面卡顿。 以上就是在C#中向`DataGridView`控件添加合计的一些常用方法及其示例代码。根据具体应用场景选择合适的方式进实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值