Access Grid Control Properties 访问网格控件属性
In this lesson, you will learn how to access the properties of a list form's Grid Control in WinForms and ASP.NET Web applications. For this purpose, new View Controllers will be implemented. They will set alternating row colors in all List Views represented by the built-in GridListEditor and ASPxGridListEditor.
在本课中,您将学习如何在 WinForms 和ASP.NET Web 应用程序中访问列表窗体的网格控件的属性。为此,将实施新的视图控制器。他们将设置由内置网格编辑器和 ASPxGridListEditor 表示的所有列表视图中的交替行颜色。
Note 注意
Before proceeding, take a moment to review the following lessons.
在继续之前,请花点时间复习以下课程。
Add a Simple Action
添加简单操作
Access Editor Settings in a WinForms Application
访问 WinForms 应用程序中的编辑器设置
- Since the functionality to be implemented is specific to the WinForms platform, changes will be made to the MySolution.Module.Win project. Add a View Controller to the Controllers folder in the MySolution.Module.Win project, as described in the Add a Simple Action lesson. Name it "WinAlternatingRowsController".
Invoke the Controller's Designer. In the Properties window, set the TargetViewType property to the "ListView" value. This is necessary because the Controller should appear in List Views only.
由于要实现的功能特定于 WinForms 平台,因此将对 MySolution.module.Win 项目进行更改。将视图控制器添加到 MySolution.module.Win 项目中的控制器文件夹,如"添加简单操作"一课中所述。将其命名为"赢控制器控制器"。
调用控制器的设计器。在"属性"窗口中,将 TargetViewType 属性设置为"ListView" 值。这是必需的,因为控制器应仅出现在列表视图中。

Since you are going to access the settings of the List View's Grid Control, you need to ensure that it has already been created. This is why you need to subscribe to the Controller's ViewControlsCreated event. In the Properties window, switch to the Events view and double-click the ViewControlsCreated event. Handle the event as shown below.
由于您将要访问列表视图的网格控件的设置,因此您需要确保已创建该设置。这就是为什么您需要订阅控制器的视图控制创建事件。在"属性"窗口中,切换到"事件"视图并双击"查看控制创建"事件。处理事件,如下所示。
using System.Drawing;
using DevExpress.ExpressApp.Win.Editors;
using DevExpress.XtraGrid.Views.Grid;
//...
private void WinAlternatingRowsController_ViewControlsCreated(object sender, EventArgs e) {
GridListEditor listEditor = ((ListView)View).Editor as GridListEditor;
if (listEditor != null) {
GridView gridView = listEditor.GridView;
gridView.OptionsView.EnableAppearanceOddRow = true;
gridView.Appearance.OddRow.BackColor = Color.FromArgb(, , );
}
}As you can see in the code above, to access a list form's Grid, you should first get the ListEditor, which is the object that binds data to a Grid. To get the ListEditor, use the ListView.Editor property of the required List View. There are several types of built-in WinForms ListEditors. The code above is implemented when the current List View is represented by a GridListEditor. This ListEditor represents data via the XtraGrid control. Use the GridListEditor.GridView property to access this control.
如您在上面的代码中所示,要访问列表窗体的网格,应首先获取 ListEditor,这是将数据绑定到网格的对象。要获取列表编辑器,请使用所需列表视图的 ListView.编辑器属性。有几种类型的内置 WinForms 列表编辑器。当当前列表视图由 GridListEditor 表示时,
将实现上述代码。此列表编辑器表示通过 XtraGrid 控件的数据。使用网格编辑器.GridView 属性访问此控件。
Run the WinForms application and select an item in the navigation control. The data rows now have alternating colors.
运行 WinForms 应用程序并在导航控件中选择一个项目。数据行现在具有交替的颜色。

Access Editor Settings in an ASP.NET Application
访问ASP.NET应用程序中的编辑器设置
- As the functionality to be implemented is specific to the ASP.NET platform, changes will be made to MySolution.Module.Web in this lesson. Add a View Controller to the Controllers folder in the MySolution.Module.Web project, as described in the Add a Simple Action lesson. Name it "WebAlternatingRowsController".
Invoke the Controller's Designer. In the Properties window, set the TargetViewType property to the "ListView" value. This is necessary because the Controller should appear in List Views only.
由于要实现的功能特定于ASP.NET平台,因此本课将对 MySolution.module.Web 进行更改。将视图控制器添加到 MySolution.module.Web 项目中的控制器文件夹中,如"添加简单操作"一课中所述。将其命名为"网络控制器"。
调用控制器的设计器。在"属性"窗口中,将 TargetViewType 属性设置为"ListView" 值。这是必需的,因为控制器应仅出现在列表视图中。

Since you are going to access the settings of the List View's Grid Control, you need to ensure that it has already been created. This is why you need to subscribe to the Controller's ViewControlsCreated event. In the Properties window, switch to the Events view and double-click the ViewControlsCreated event. Handle the event as shown below.
由于您将要访问列表视图的网格控件的设置,因此您需要确保已创建该设置。这就是为什么您需要订阅控制器的视图控制创建事件。在"属性"窗口中,切换到"事件"视图并双击"查看控制创建"事件。处理事件,如下所示。
using System.Drawing;
using DevExpress.ExpressApp.Web.Editors.ASPx;
//...
private void WebAlternatingRowsController_ViewControlsCreated(object sender, EventArgs e) {
ASPxGridListEditor listEditor = ((ListView)View).Editor as ASPxGridListEditor;
if (listEditor != null)
listEditor.Grid.Styles.AlternatingRow.BackColor = Color.FromArgb(, , );
}
- As you can see in the code above, to access a list form's Grid, you should first get the ListEditor, which is the object that binds data to a Grid. To get the ListEditor, use the ListView.Editor property of the required List View. There are several types of built-in ASP.NET ListEditors. The code above is implemented when the current List View is represented by an ASPxGridListEditor. This ListEditor represents data via the ASPxGridView control. To access this control, the ASPxGridListEditor.Grid property is used.
- 如您在上面的代码中所示,要访问列表窗体的网格,应首先获取 ListEditor,这是将数据绑定到网格的对象。要获取列表编辑器,请使用所需列表视图的 ListView.编辑器属性。有几种类型的内置ASP.NET列表编辑器。当当前列表视图由 ASPxGridList 编辑器表示时,将实现上述代码。此列表编辑器表示通过 ASPxGridView 控件的数据。要访问此控件,将使用 ASPxGridListEditor.Grid 属性。
Run the ASP.NET application. Select an item in the navigation control and ensure that the rows background is changed.
运行ASP.NET应用程序。在导航控件中选择一个项目,并确保更改行背景。

Note 注意
Due to WinForms and ASP.NET platform specifics, View Item and List Editor controls may not be immediately ready for customization after the control is created. Consider handling additional platform-dependent events or using alternative approaches if the customizations above do not have any effect.
由于 WinForms 和ASP.NET平台细节,在创建控件后,视图项和列表编辑器控件可能不会立即准备好进行自定义。如果上述自定义项没有任何效果,请考虑处理其他与平台相关的事件或使用替代方法。
WinForms:
Handle the System.Windows.Forms.Control
object's HandleCreated, VisibleChanged or ParentChanged
- WinForms:
处理系统.Windows.窗体.控件
对象的句柄已创建、可见更改或父更改
events. You can also handle the Load (or similar) event if the current control type exposes it.
- 事件。如果当前控件类型公开了"加载"(或类似)事件,也可以处理该事件。
ASP.NET:
Handle the System.Web.UI.Control
object's Load or Init
- ASP.NET:
处理系统.Web.UI.控件
对象的加载或 Init
server-side event. In certain cases, you may need to handle the WebWindow.PagePreRender event. Use the WebWindow.CurrentRequestWindowstatic property to get the current WebWindow object. You can also perform certain customizations on the client side using JavaScript (see Client-Side Functionality Overview).
- 服务器端事件。在某些情况下,您可能需要处理 WebWindow.pageprein 事件。使用 WebWindow.CurrentRequest 静态属性获取当前 WebWindow 对象。您还可以使用 JavaScript 在客户端执行某些自定义(请参阅客户端功能概述)。
These additional platform-dependent events indicate the controls' "ready" state: a control has been added to the form controls hierarchy or has been bound to data. Contact us using the Support Center
if you need additional help to perform customizations.
这些与平台相关的其他事件指示控件的"就绪"状态:控件已添加到窗体控件层次结构中或已绑定到数据。使用支持中心联系我们如果您需要其他帮助来执行自定义。
Access Grid Control Properties 访问网格控件属性的更多相关文章
- HTML5 UI框架Kendo UI Web中如何实现Grid网格控件本地化
Kendo UI Web包含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等. 为了使得产品可以符合不同市场的本地化需求和语言,Kendo U ...
- [转] c#中 多线程访问winform控件
原文 c#中多线程访问winform控件的若干问题小结 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的 ...
- 多线程访问winform控件出现异常的解决方法
一. 多线程访问winform控件出现异常的解决方法 1. 问题描述<1> 如果创建某控件的线程之外的其他线程试图调用该控件,则会引发一个 InvalidOperationExcept ...
- 理解SynchronizationContext,如何在Winform里面跨线程访问UI控件
SynchronizationContext 类是一个基类,可提供不带同步的自由线程上下文. 此类实现的同步模型的目的是使公共语言运行库内部的异步/同步操作能够针对不同的异步模型采取正确的行为.此模型 ...
- 实现Winform 跨线程安全访问UI控件
在多线程操作WinForm窗体上的控件时,出现“线程间操作无效:从不是创建控件XXXX的线程访问它”,那是因为默认情况下,在Windows应用程序中,.NET Framework不允许在一个线程中直接 ...
- 跨线程访问UI控件时的Lambda表达式
工作中经常会用到跨线程访问UI控件的情况,由于.net本身机制,是不允许在非UI线程访问UI控件的,实际上跨线程访问UI控件还是 将访问UI的操作交给UI线程来处理的, 利用Control.Invok ...
- 在C#或者SWT上跨进程访问SWT控件的问题
可能为了进程安全,无论是C#的Form还是Eclipse的SWT,都不允许跨进程访问控件. 通俗一点说就是: A进程创建了控件Widget,若想在B进程中访问控件Widget就会报错,必须在创建Wid ...
- mfc Picture Control 控件属性
知识点: Picture Control 控件属性 CStatic类 图片控件 图片控件使用 一.图片控件属性 Picture Control 属性: Type:Frame //框架 Type:Etc ...
- AJAX Control Toolkit的AsynFileUpload控件资料收集
基于AJAX的文件上传显示进度条实现 http://plkong.iteye.com/blog/238159 asp.net ajax AjaxFileUpload使用 多文件上传 http://bl ...
随机推荐
- CMU-14445 数据库原理 汇总
LAB1:Extendible Hash Table, LRU, BUFFER POOL MANAGER LAB2:实现一个支持并发操作的B+树 LAB3:事务隔离,two-phase locking ...
- Vue.js实现大文件分片md5断点续传
背景 根据部门的业务需求,需要在网络状态不良的情况下上传很大的文件(1G+).其中会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长,请求超时:3,传输中断,必须重新上传导致前功尽 ...
- Bash脚本编程之算术运算
简介 Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence).结合性(associativity)和值,详见Shell Arithmet ...
- windows客户端访问FTP服务器
客户端访问FTP服务器步骤: 首先双击此电脑,在弹出的窗口输入如下信息 刚安装完的FTP服务器只有一个pub目录,因为这里是使用匿名用户登录的 FTP服务器默认的匿名目录在/var/ftp/pub/下 ...
- Shell—详解$( )、$(( ))、``与${ }的区别
https://www.jianshu.com/p/2237f029c385 https://www.cnblogs.com/chenpython123/p/11052276.html https:/ ...
- scrapy框架(三)
scrapy框架(三) CrawlSpider类 创建CrawlSpider # 创建项目后 $ scrapy genspider -t crawl spider_name website_doma ...
- Linux下使用docker 拉取 vsftpd 镜像搭建 Ftp 服务器,连接 Ftp 时遇到的错误(425 Failed to establish connection)
Ftp踩坑系列: Linux上的ftp服务器 vsftpd 之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传 ftp服务器Serv-U 设置允许自动创建不存在的目录 FTP ...
- Prometheus学习系列(九)之Prometheus 联盟、迁移
前言 本文来自Prometheus官网手册 和 Prometheus简介 FEDERATION 允许Prometheus服务器从另一台Prometheus服务器抓取选定的时间序列. 一,用例 联盟有不 ...
- spring cloud学习与思考——总起篇
接下来就spring cloud( Spring Boot 2.0版本)写一个系列,一方面加深记忆理解,做个日志,另一个方面,借这个方式跟朋友们沟通交流. 1.Spring boot是Spring的一 ...
- Ligg.WinOa-000: Windows运维自动化编程实战--前言
本开源项目Ligg.WinOa是一个基于Ligg.EasyWinApp的Windows运维自动化应用.通过Ligg.EasyWinForm生成2个功能界面:管理员工具箱和用户工具箱:通过Lig ...