彩票走势图

DevExpress WinForms中文教程:Grid View - 如何实现自动调整宽度模式?

翻译|使用教程|编辑:龚雪|2024-12-10 10:27:43.230|阅读 7 次

概述:本文主要介绍如何使用DevExpress WinForms Data Grid组件的Best Fit选项,欢迎下载最新版组件体验!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

本文主要介绍如何使用DevExpress WinForms Data Grid组件实现自动调整宽度。

获取DevExpress WinForms v24.1正式版下载

DevExpress技术交流群11:749942875      欢迎一起进群讨论

列宽模式基础

调整列或容器控件的大小,来查看网格是否自动调整列,使它们占据整个视图,并且不需要水平滚动条。

DevExpress WinForms中文教程图集

另一种可用的模式是在不发生自动调整的情况下,根据需要显示水平滚动条。

DevExpress WinForms中文教程图集

本教程将介绍这两种模式。

在列宽度模式之间切换

默认操作时自动调整列宽度,要禁用它请跳转到View(视图)设置并在目录禁用选项,这将使水平滚动条在必要时可用。

DevExpress WinForms中文教程图集

如果将该选项切换回其默认状态,则可以看到在更改控件宽度时,所有列的大小是如何按比例调整的。

强制列具有固定的宽度

如果您希望某个列在发生这些调整时保持其宽度,请启用该列的选项。

DevExpress WinForms中文教程图集
响应列宽度变化

正如上一篇教程中提到的,您可以使用View的事件响应列宽度的更改,本文中的处理程序根据当前宽度调整Unit Price列的格式。

C#

private void gridView1_ColumnWidthChanged(object sender, DevExpress.XtraGrid.Views.Base.ColumnEventArgs e) {
if (e.Column != colUnitPrice) return;
colUnitPrice.DisplayFormat.FormatString = (colUnitPrice.Width > 50) ? "c2" : "c0";
}

如果运行这个应用程序,请注意当您调整列的大小时,这段代码是如何隐藏价格的小数的。

DevExpress WinForms中文教程图集

但是如果您调整容器的大小,列会缩小,但不会应用正确的格式。要解决这个问题,还需要处理网格控件的SizeChanged事件。由于列的大小调整是由于自动宽度模式,列的属性实际上并没有改变,您需要在处理程序中使用属性,还要添加代码来显示带有两个属性值的,以便对它们进行比较。

C#

private void gridControl_SizeChanged(object sender, EventArgs e) {
colUnitPrice.DisplayFormat.FormatString = (colUnitPrice.VisibleWidth > 50) ? "c2" : "c0";
alertControl1.Show(this, "Column Width Update",
string.Format("Width is {0}, \nVisibleWidth is {1}", colUnitPrice.Width, colUnitPrice.VisibleWidth));
}

运行应用程序并调整容器大小,属性保持不变,而反映了实际的屏幕大小,从而允许格式化代码工作。

DevExpress WinForms中文教程图集

更多产品资讯及授权,欢迎“”!


年终活动火热开启中

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP