devexpress 中advBandedGridView内容自动换行和调整自适应行高

首先是自动换行,可以创建一个repositoryItemMemoEdit 并绑定到需要换行的列中
再设置一下repositoryItemMemoEdit高度自适应,这样子就完成了自动换行了
repositoryItemMemoEdit1.AutoHeight = true;
之后需要使用事件advBandedGridView1_CalcRowHeight。这个事件是让我们可以单独设置行高。因为advBandedGridView没有rowautoheight所以需要我们自己设置
代码如下
//获得字体的宽度和高度。
Graphics graphics = CreateGraphics();
SizeF sizef = graphics.MeasureString(advBandedGridView1.GetRowCellValue(e.RowHandle, "测试").ToString(), advBandedGridView1.Appearance.Row.Font);
//根据字体的宽度除以这列的宽度计算得出需要几行。使用Ceiling把小数都进一位成整数
double doub = Math.Ceiling(sizef.Width / advBandedGridView1.Columns["测试"].Width);
//设置行高为需要几行乘以这个字体的高度
e.RowHeight = (int)(doub*sizef.Height);
完整代码
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 文件管理
{
public partial class Form1 : DevExpress.XtraEditors.XtraForm
{
public Form1()
{
InitializeComponent();
//添加测试数据并绑定数据源
DataTable dt = new DataTable();
dt.Columns.Add("测试");
dt.Columns.Add("测试1");
dt.Rows.Add("谁谁谁时尚所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所s", "ssssssssss");
dt.Rows.Add("ssss","wwwww");
dt.Rows.Add("谁谁谁wwwwwwww时尚所所2所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所所s", "siiiiiiihiiiiiii");
gridControl1.DataSource = dt;
//自适应高度
repositoryItemMemoEdit1.AutoHeight = true;
}
private void advBandedGridView1_CalcRowHeight(object sender, DevExpress.XtraGrid.Views.Grid.RowHeightEventArgs e)
{
//获得字体的宽度和高度。
Graphics graphics = CreateGraphics();
SizeF sizef = graphics.MeasureString(advBandedGridView1.GetRowCellValue(e.RowHandle, "测试").ToString(), advBandedGridView1.Appearance.Row.Font);
//根据字体的宽度除以这列的宽度计算得出需要几行。使用Ceiling把小数都进一位成整数
double doub = Math.Ceiling(sizef.Width / advBandedGridView1.Columns["测试"].Width);
//设置行高为需要几行乘以这个字体的高度
e.RowHeight = (int)(doub*sizef.Height);
}
}
}
Demo下载地址https://download.csdn.net/download/qq_38977099/10872914
大家如果有问题可以
Console.WriteLine(”加群“+"537905238");
devexpress 中advBandedGridView内容自动换行和调整自适应行高的更多相关文章
- C# 设置Excel数据自适应行高、列宽的2种情况
Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel ...
- Java 设置Excel自适应行高、列宽
在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定 ...
- iOS自适应行高方法及问题
最近一周被项目的动态高度虐的很惨,感觉浪费了很多时间,但是值得高兴的是对动态高度的使用掌握了好多方法,并且知道了方法之间的区别和优缺点. 1.最常用的: UITableView+FDTemplateL ...
- 在iOS中如何正确的实现行间距与行高
最近准备给 VirtualView-iOS 的文本元素新增一个 lineHeight 属性,以便和 VirtualView-Android配合时能更精确的保证双平台的一致性.面向 Google 以及 ...
- element UI 调整表格行高
使用element UI的table默认属性,绘制表格如下: 该表格的行高太大了,于是想调小一些. 查看官网的文档,table有几个属性, row-style:行的 style 的回调方法,也可以使用 ...
- OAF 中对文字实现html效果及对超级长文本实现默认换行,对只读的messageTextInput中的内容自动换行
今天遇到一个需求,客户注册页面客户化了一个超级长的注册须知,内容很多.但是样式相对又要做起来好看点. 注册须知的内容使用多个message拼接而成. 老大说rawText支持html样式,于是我想到了 ...
- DevExpress中XtraGrid控件对GridView每行的颜色设置 zt
改变行颜色 private void GridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArg ...
- rmReport 自适应行高(自动行高)
这个问题 1.先中主项数据--属性--stretched(伸展):true 选中主项数据中的所有列--属性--其他属性--自动折行 --伸展
- 调整UILabel行高间距并返回自定义宽高度
// 获取label文字 NSString *labelString = @"XXXXXXXXXXXXXX"; // 设置自定义宽度或高度 CGSize labelSize = C ...
- ui-grid样式,表格高度自适应行高,没有滚动条,去掉表头
前后端设置:
随机推荐
- 论文解读(RvNN)《Rumor Detection on Twitter with Tree-structured Recursive Neural Networks》
论文信息 论文标题:Rumor Detection on Twitter with Tree-structured Recursive Neural Networks论文作者:Jing Ma, Wei ...
- 【Azure 环境】Azure Resource Graph Explorer 中实现动态数组数据转换成多行记录模式 - mv-expand
问题描述 想对Azure中全部VM的NSG资源进行收集,如果只是查看一个VM的NSG设定,可以在门户页面中查看表格模式,但是如果想把导出成表格,可以在Azure Resource Graph Expl ...
- Windows 2019通过网页修改域用户密码
对于域用户来说,定期修改密码是必须的.对于没有Exchange的组织,而且经常出差在外的人员,能及时修改密码就变得很重要了. 在Windows 2003的时候有iisadmpwd可以修改.但是这个页面 ...
- Beats:通过Metricbeat实现外部对Elastic Stack的监控
- logstash中关于Jdbc输入配置选项详解
Setting Input type Required clean_run boolean No columns_charset hash No connection_retry_attempts n ...
- 企业微信报警中关于markdown的用法
官方文档地址:https://open.work.weixin.qq.com/api/doc/90002/90151/90853#markdown消息 请求方式:POST(HTTPS) 请求地址: h ...
- 2_jQuery
一. jQuery介绍 1.1 什么是jQuery jQuery, 顾名思义, 也就是JavaScript和查询(Query), 它就是辅助JavaScript开发的js类库 1.2 jQuery核心 ...
- Vue+vant移动端处理弹窗不能滑动问题
自己在做项目开发时,使用vantUI组件,在项目中遇到了弹窗组件里面当内容过多时,会出现滚动卡顿或者不能滚动问题,开始一直以为是自己的样式写的有问题,检查下来才发现并不是,而是弹窗组件的问题,于是找到 ...
- P1084 [NOIP2012 提高组] 疫情控制 (二分答案、贪心)
因为若一个时间限制满足题意,则所有比它大的时间限制一定都满足题意,因此本题答案具有单调性,可以想到二分答案求解. 本题思路不是很难,但细节和代码实现比较复杂. 见牛人博客:https://www.lu ...
- 洛谷P3690 (动态树模板)
一位大佬写的代码.(加上我自己的一些习惯性写法) 存个模板. 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N= ...