广州市扬基信息科技有限公司 - 技术研发组
失不见,但不是真正的删除了,而是收藏在ShowColumnsSelector弹出窗口的Columns中,您可以再次把它拉到网格中。
4) 如果用代码绑定数据源:repositoryItemLookUpEdit1.DataSource = dsOrder.Tables[\]; 5) AdvBandedGridView复杂表头的实现,跟上面一样,将不再赘述。
9.1.4.3 实现代码
// obtaining the main view and clearing its bands collection
BandedGridView view = gridControl1.MainView as BandedGridView; view.Bands.Clear();
// creating the bands layout
GridBand bandGeneral = view.Bands.Add(\GridBand bandTechnical = view.Bands.Add(\
GridBand bandEngine = bandTechnical.Children.Add(\
GridBand bandTransmission = bandTechnical.Children.Add(\// assigning columns to bands
colTrademark.OwnerBand = bandGeneral; colModel.OwnerBand = bandGeneral; colLiter.OwnerBand = bandEngine; colCylinders.OwnerBand = bandEngine;
colSpeedCount.OwnerBand = bandTransmission; colTransmission.OwnerBand = bandTransmission;
9.1.4.4 属性设置
1) GridBand.AutoFillDown属性, 假如向下没Band,Band高度自动垂直向下延伸,路径:
BandedGridView1\\Bands\\GridBand1。
2) GridBand.RowCount属性,Band高度占用几行,实际是设置行高,路径:
BandedGridView1\\Bands\\GridBand1。
3) GridBand.Fixed属性,设置Band向网格的左边缘或右边缘固定不动。路径: BandedGridView1\\Bands\\GridBand1。
9.1.4.5 ColumnEdit列
列的ColumnEdit下拉列表框有二种,LookUpEdit和GridLookUpEdit。LookUpEdit只能在单元格中输入
文本来过滤数据,GridLookUpEdit除了在单元格中输入文本外,还能在下拉的网格中有一个行过滤的功能,每一个字段都可以过滤。当然单元格也能设定为不能编辑,而只让下拉网格中的列中的数据来过滤。其实二者都可以实现同样的效果,但GridLookUpEdit提供更复杂的功能实现,有更多的可控性。下拉网格的类型还可以为复杂表头。如下图:
Created by fanco Page 26 of 49 Created on 3/6/2007 9:28:00 AM
广州市扬基信息科技有限公司 - 技术研发组
OrderID下拉框实现效果,界面操作步骤如下: 1) 在form 上添加GridControl .
2) 默认上面网格添加了OrderID,CustomerID,OrderDate,Freight等字段。
3) 在Columns的列表中选中OrderID字段,右侧属性ColumnEdit点开下拉,再点开New,选中树中的
LookUpEdit,ColumnEdit赋值为repositoryItemLookUpEdit1。
4) 在添加repositoryItemLookUpEdit1的列,展开ColumnEdit节点。点击Columns右铡的按钮,弹
出窗口,点添加(A)设置FieldName="LastName",Caption,width。 5) 再添加一列CompanyName.
6) 设置repositoryItemGridLookUpEdit的DataSource的数据源,DisplayMember显示的数据,
ValueMember单元格的值,PopupFormWidth 的弹出窗口的大小,etc。
7) TextEditStyle 设置为tandard,单元格允许编辑,光标出现,单元格的文本可以编辑。设置为
DisableTextEditor,单元格只能输入,不能删除,光标也不在单元格中出现。
8) 绑定数据源repositoryItemGridLookUpEdit1.DataSource = dsOrder.Tables[\]; 9) GridLookUpEdit与repositoryItemGridLookUpEdit为同一控件,只是 repositoryItemGridLookUpEdit为GridControl所引用.
9.1.5 AdvBandedGridView
AdvBandedGridView 从BandedGridView继承,是子类,它继承BandedGridView的所有功能,再扩展。
Created by fanco Page 27 of 49 Created on 3/6/2007 9:28:00 AM
广州市扬基信息科技有限公司 - 技术研发组
9.1.5.1 实现效果
9.1.5.2 操作步骤
1) 在form 上添加GridControl
2) 在GridControl上的click here to change view 单击Convert to AdvBandedGridView。
9.1.5.3 实现代码
在Load事件中添加下面的代码:
// assigning columns to bands
colTrademark.OwnerBand = bandGeneral; colModel.OwnerBand = bandGeneral; colLiter.OwnerBand = bandTechnical; colCylinders.OwnerBand = bandTechnical; colSpeedCount.OwnerBand = bandTechnical; colTransmission.OwnerBand = bandTechnical; colPrice.OwnerBand = bandPrice;
// changing the columns layout within bands
DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView view = colTrademark.View as DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView; view.SetColumnPosition(colTrademark, 0, 0); view.SetColumnPosition(colModel, 1, 0); view.SetColumnPosition(colLiter, 0, 0); view.SetColumnPosition(colCylinders, 0, 1); view.SetColumnPosition(colSpeedCount, 1, 0); view.SetColumnPosition(colTransmission, 1, 1);
// forcing the Price column to stretch its header if needed colPrice.AutoFillDown = true;
Created by fanco Page 28 of 49 Created on 3/6/2007 9:28:00 AM
广州市扬基信息科技有限公司 - 技术研发组
9.1.5.4 属性设置
1) BandedGridColumn.ColIndex属性, Column所属Band的列位置。
2) BandedGridColumn.RowIndex属性, Column所属Band的行位置。
9.2 XtraLayout控件 9.2.1 特性
? ? ? ? ?
界面缩放,里面的控件自动缩放。 控件自动对齐。
几个控件成组或Tab页,取消组或取消Tab页。 界面缩放时,锁定控件的大小。
运行时,用户自定义界面各控件的位置,保存和导入设置的布局。
9.2.2 实现效果
9.2.3 操作步骤
1) 在工具箱中定位到layoutControl控件,拖进FORM。 2) 选中layoutControl,按F4键,设置Dock属性为Fill。
3) 在工具箱中定位到TextEdit拖入layoutControl控件中(创建了一个新的layout Item)。 4) 设置Item的Text属性为User Name。
5) 在工具箱中定位到SimpleButton控件,拖二个到layoutControl控件中,设置SimpleButton1的
Text属性为OK,设置SimpleButton2的Text属性为Cancel。 6) 选中Cancel对应的layoutControlItem3,拖到OK的右侧。
7) 选中任意一个layoutControlItem,右键选择Show Customization Form。 8) 在打开的Customiztion Form中,拖Empty Space Item到OK的上面。 9) 再拖一个Empty Space Item到OK按钮的左侧,OK宽度缩小一半。 10) 向右拉动OK的边框,设置OK的宽度与Cancel的宽度一样大。 11) 调整Form及各控件的大小如上图效果。
12) 在选中任意一个layoutControlItem的右键菜单中,还有一些菜单项可以设置。可根据需要进行布
局的设置。
Created by fanco Page 29 of 49 Created on 3/6/2007 9:28:00 AM
广州市扬基信息科技有限公司 - 技术研发组
9.3 XtraTab控件 9.3.1 设计参考
? 控件的\属性值应该与控件排列顺序一致,即遵循从上到下、从左到右这样一个流程。如
果在PageControl的多个页面中存在类似的控件,应该尽量使得它们在各个页面中出现的位置/大小比较一致,以免在页面间切换时产生闪烁感。
9.3.2 效果及代码
XtraTabControl,可以多个tab标题重叠来显示,只要设置Multiline属性就可。
实现
代码: if (checkEdit2.Checked)
xtraTabControl2.MultiLine = DevExpress.Utils.DefaultBoolean.True; else
xtraTabControl2.MultiLine = DevExpress.Utils.DefaultBoolean.False;
XtraTabControl,也可以隐藏tab标题的显示,在不同tab页切换时,好像在同一tab页感觉一样。
实现代码:
if(checkEdit1.Checked)
xtraTabControl2.ShowTabHeader = DevExpress.Utils.DefaultBoolean.True; else
xtraTabControl2.ShowTabHeader = DevExpress.Utils.DefaultBoolean.False;
9.4 PivotGrid控件
PivotGridControl是一种对大量数据进行分析的交叉表网格控件,网格的字段分为行字段、列字段、过
Created by fanco
Page 30 of 49
Created on 3/6/2007 9:28:00 AM