单元格内容过多,一行显示改为自动换行,行高自适应

点击datagridview控件,在属性框中
设置DataGridView的RowsDefaultCellStyle属性点开,在WrapMode选项中改为true
设置DataGridView的AutoSizeRowsMode属性改为DisplayedCellsExceptHeaders
表格数据居中设置

//设置每行数据居中
dataTable.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
//设置列名居中
dataTable.ColumnHeadersDefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleCenter;

关于鼠标悬浮表格,气泡显示该单元格所有数据
1、设置DataGridView的ShowCellToolTips 属性为true(不设置会出现NULL报错)
2、添加触发事件方法

//在CellMouseEnter触发事件中添加
private void dataTable_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{if (e.ColumnIndex < 0 || e.RowIndex < 0 || dataTable.Rows.Count <= 0) return;dataTable.Rows[e.RowIndex].Cells[e.ColumnIndex].ToolTipText = (dataTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Value ?? string.Empty).ToString();
}

关于合并上下相邻数据相同的单元格
1、设置DataGridView的AllowUserToAddRows属性为true
2、添加触发事件方法

//在CellPainting触发事件中添加private void dataTable_CellPainting(object sender, DataGridViewCellPaintingEventArgs e){//e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3(最后一列不绘制)      if (e.RowIndex >= 0 && (e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3) && e.Value.ToString() != string.Empty){#regionint UpRows = 0;//上面相同的行数int DownRows = 0;//下面相同的行数int count = 0;//总行数int cellwidth = e.CellBounds.Width;//列宽for (int i = e.RowIndex; i < this.dataTable.Rows.Count; i++) //获取下面的行数{if (this.dataTable.Rows[i].Cells[e.ColumnIndex].Value.ToString().Equals(e.Value.ToString())){DownRows++;}else{break;}}for (int i = e.RowIndex; i >= 0; i--) //获取上面的行数{if (this.dataTable.Rows[i].Cells[e.ColumnIndex].Value.ToString().Equals(e.Value.ToString())){UpRows++;}else{break;}}count = UpRows + DownRows - 1;//总行数               using (Brush gridBrush = new SolidBrush(this.dataTable.GridColor), backColorBrush = new SolidBrush(e.CellStyle.BackColor)){using (Pen gridLinePen = new Pen(gridBrush)){e.Graphics.FillRectangle(backColorBrush, e.CellBounds); //清除单元格if (e.Value != null){int cellheight = e.CellBounds.Height;SizeF size = e.Graphics.MeasureString(e.Value.ToString(), e.CellStyle.Font);e.Graphics.DrawString((e.Value).ToString(), e.CellStyle.Font, Brushes.Black, e.CellBounds.X + (cellwidth - size.Width) / 2, e.CellBounds.Y - cellheight * (UpRows - 1) + (cellheight * count - size.Height) / 2, StringFormat.GenericDefault);}//如果下一行数据不等于当前行数据,则画当前单元格底边线if (e.RowIndex < this.dataTable.Rows.Count - 1 && this.dataTable.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString() != e.Value.ToString()){e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);}if (e.RowIndex == this.dataTable.Rows.Count - 1){e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left + 2, e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);count = 0;}//画grid右边线                      e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, e.CellBounds.Top, e.CellBounds.Right - 1, e.CellBounds.Bottom);e.Handled = true;}}#endregion}
}

c#关于单元格合并居中显示等基础操作相关推荐

  1. datagridview单元格合并居中_系统地学习Excel第17课,设置单元格格式

    上一篇:系统地学习Excel第16课,使用Excel的「替换」功能 本篇内容结构如下: 本章的知识体系 Excel工作表的整体外观由各个单元格的样式构成,单元格的样式外观在Excel的可选设置中主要包 ...

  2. C# DataGridView单元格合并居中

    利用CellPainting事件 方法说明:先将原始表格的单元格框线清除,再利用事件对需要显示的框线进行重新绘制,达到单元格合并的效果. int index = 0; // 用于得到合并后文字应该显示 ...

  3. java html合并单元格内容居中显示_合并Al:H1单元格区域,使合并的内容居中显示。...

    合并Al:H1单元格区域,使合并的内容居中显示. 更多相关问题 峰面积积分法有何特点? 电子邮件的发送和接收实际上是由ISP的()担任的. VFP的一个数据表文件最多允许有()条记录. 卡特尔认为,可 ...

  4. excel导出java不完整_有关Java POI导出excel表格中,单元格合并之后显示不全的解决方法。...

    我在table变换excel之后发现合并的单元格不能显示全部边框,在网上找了半天解决方案,终于解决了.具体解决代码如下; /** * 设置合并单元格的边框样式 * * @param sheet 当前表 ...

  5. Excle中合并相同数据的单元格后,依然保持原有单元格数据内容,取消单元格合并后显示原有数据内容

    1.先设置一些数据,这里我以一列为例 2.然后我们找相同的一块列区域,然后合并单元格 3.选中合并的区域,然后选择格式刷,然后选中相同数字区域,就可以了 取消合并后又显示之前的数据

  6. C#实现向excel中插入行列,以及设置单元格合并居中效果

    插入空行: Microsoft.Office.Interop.Excel.Workbook xlsWorkbook; Microsoft.Office.Interop.Excel.Worksheet ...

  7. 基于element-ui的table实现树级表格操作及单元格合并

    功能目录 一. 结构调整 二. 父子层级展开合并 三. 单元格合并 *四. 表格增删改操作 如题,公司业务需求,数据结构比较复杂,需要在一张表内实现多级树状数据展示及同属性的单元格合并,并在表格内实现 ...

  8. html 合并单元格后居中,excel批量合并单元居中,还在手工点合并后居中吗

    很多朋友对于列中相同的内容,都会手工点击菜单栏上的合并后居中,这样手工操作的方式,对数据量不是很大的列,操作没有任何问题,但对于列中数据比较多的情况,如果还是先选中相同的内容,然后再进行合并后居中,这 ...

  9. html合并单元格怎么把字竖着,电脑excel单元格中文字如何在合并单元格后竖排显示...

    电脑excel单元格中文字如何在合并单元格后竖排显示 excel软件是我们现在经常使用的数据处理工具之一,接下来小编就教大家怎样在软件中设置合并单元格之后竖排显示文字. 具体如下: 1. 首先我们需要 ...

最新文章

  1. Android之四大组件(Activity)
  2. [转] Firefox 24.0中的插件激活提示
  3. 代码精进之路 码农到工匠pdf_VBA代码解决方案第065讲试看内容
  4. 牛客多校 - 1 or 2(一般图最大匹配)
  5. maven,gradle本地缓存位置
  6. i12蓝牙耳机使用说明书图片_飞利浦SHB4385 BASS+无线蓝牙耳机晒单 使用体验
  7. tflite C++ API 部署分类模型
  8. [转] Noise Contrastive Estimation 噪声对比估计 资料
  9. 软件编程常用数据类型打印print
  10. 一位Android大牛的BAT面试心得与经验总结
  11. 199.二叉树的右视图
  12. 笔记本电脑自带键盘禁用与恢复
  13. rust物资刷新机制_rust资源刷新 | 手游网游页游攻略大全
  14. FPGA开平方的实现(三种方法)
  15. Vue 源码学习过程 - Observer/Dep/Watcher三者实现数据双向绑定
  16. Dialog确认按钮不dismiss
  17. ECMAScript 面试题目
  18. 出场、入场动画大全,基于NineOldAndroids轻松实现动画效果
  19. 国内木兰造假!国外无一入选顶会!论两极分化下的编程语言研究
  20. 功略三国志9加强版战略刘备篇

热门文章

  1. 图形界面GUI登陆界面设计
  2. 视频添加背景音乐侵权吗?
  3. CS224N笔记(1~3)简介+word2vector
  4. ETAS RTA-OS嵌入式ECU的实时操作系统
  5. JedisDataException: Please close pipeline or multi block before calling this method
  6. 硬盘存储计算公式及考虑因素
  7. 51单片机入门学习笔记(上)
  8. RabbitMQ(一)简介
  9. 万达网络科技的DevOps平台架构解析
  10. 华华给月月准备礼物(牛客4.17 二分)