学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > 在DataGridView中显示合计,并且合计始终在最后一行

在DataGridView中显示合计,并且合计始终在最后一行

DataGridView提供数据的显示和排序功能,但没有合计的功能,本人曾想过通过绑定DataView,然后直接给DataView增加一个,合计是可以显示出来,但通过列标题排序就很难控制了,绑定的做法很麻烦,因为很多动作不受控。绑定不行,只能自己创建DataGridView的列和行了,自己控制排序等。

为DataGridView增加列和行:

/// <summary>
/// 根据DataTable创建DataGridView。
/// </summary>
/// <param name="table"></param>
private void BuidGrid(DataTable table)
{
for (int i = 0; i < table.Columns.Count; i++)
{
DataColumn dcol = table.Columns[i];
DataGridViewColumn column = new DataGridViewColumn(new DataGridViewTextBoxCell());
dtgCount.Columns.Add(column);
column.SortMode = DataGridViewColumnSortMode.Automatic;
column.HeaderText = dcol.ColumnName;
column.Name = dcol.ColumnName;
if (i == 0)
{
column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
}
else
{
column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
if (i == table.Columns.Count - 1)
column.DefaultCellStyle.BackColor = Color.Yellow;
}
}
foreach (DataRow row in table.Rows)
{
int index = dtgCount.Rows.Add();
DataGridViewRow vRow = dtgCount.Rows[index];
for (int i = 0; i < table.Columns.Count; i++)
{
vRow.Cells[i].Value = row[i];
}
}
//增加多一个合计的行
int countIndex = dtgCount.Rows.Add();
DataGridViewRow countRow = dtgCount.Rows[countIndex];
countRow.Cells[0].Value = "合计";
for (int i = 1; i < table.Columns.Count; i++)
{
countRow.Cells[i].Value = table.Compute("Sum([" + table.Columns[i].ColumnName + "])", "");
countRow.DefaultCellStyle.BackColor = Color.Yellow;
}
}

   这样合计行就在最下面了,现在要解决的是排序的问题了,在上面的数据中,除了第一列,其他列为Int32类型,合计行好像是字符串类型,没有深入研究原因。



private void dtgCount_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
if (e.Column.Index == 0)
{
if (dtgCount.Rows[e.RowIndex1].Cells[0].Value.ToString() == "合计")
{
if (e.Column.HeaderCell.SortGlyphDirection == SortOrder.Ascending)
e.SortResult = 1;
else

第1页

TOP相关主题

  • datagridview
  • datagridview添加行
  • datagridview刷新
  • datagridview全选
  • datagridview属性
  • datagridview1
  • datagridview分页
  • datagridview行数

我要评论

相关文档

  • DataGridView实现添加合计行并始终显示在底部

    DataGridView 实现添加合计行并始终显示在底部 收藏 DataGridView 中没有合适的方法来冻结底部的合计行,这里用一种比较简单的方式实现。 1. 数据部分的 DataGridView...

  • datagridview显示合计

    datagridview显示合计_IT/计算机_专业资料。public class Pageing { // 每页... // 总页数 private int pageCount = 1; // 分页数据集合 private Data...

  • 第8讲 具有合计项的dataGridView设计

    广东纺织职业技术学院 第8讲 具有合计功能的 讲 dataGridView 信息工程系主讲: 主讲:彭金祥 广东纺织职业技术学院 教学目标 dataGridViewSummary界面 界面 ...

  • DataGridView控件的使用总结

    } } 6.DataGridView 判断新增行 DataGridView 的 AllowUserToAddRows 属性为 True 时也就是允许用户追加新行的场合下, DataGridView最后一行就是新追加的 行(...

  • C#中向DataGridview中增添一行数据则么添加

    C#中向DataGridview中增添一行数据则么添加_计算机硬件及网络_IT/计算机_专业资料。今日推荐 180份文档 2014证券从业资格考试 2014证券资格证券交易高分突破试卷及...

  • DataGridView数据统计操作

    DataGridView数据统计操作_建筑/土木_工程科技_专业资料。DataGridView数据统计操作DataGridView 合计行 C# DataGridView统计操作讲师:小浩 培训内容 ? 了解DataGrid...

  • DataGridView中在同一个单元格中显示图片和文字

    DataGridView中在同一个单元格中显示图片和文字_计算机软件及应用_IT/计算机_专业资料。通过CellPainting重新绘制单元格来实现同一个单元格中显示图片和文字...

  • datagridview在vbnet中的操作技巧

    4、 DataGridView 判断新增行: DataGridView 的 AllowUserToAddRows 属性为 True 时也就是允许用户追加新行的场合下, DataGridView最后一行就是新追加的行(*行)...

  • C#中DataGridView控件使用大全

    最后通过 dataGridView1.Rows.Add(row)为 dataGridView1 控件添加新的行 row。 DataGridView 取得或者修改当前单元格的内容: 当前单元格指的是 DataGridView 焦点...

  • 使用DataGridView

    1. 我们来接着使用DataGridView,在上一篇关于类似QQ登录的文章我们已经讲述了...还可以单 击vs工具栏的最后一项来设置各控件的tabindex的值。 ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部