惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
L
LINUX DO - 热门话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
V
V2EX
GbyAI
GbyAI
量子位
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
O
OpenAI News
N
News and Events Feed by Topic
博客园 - Franky
爱范儿
爱范儿
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
Last Week in AI
Last Week in AI
罗磊的独立博客
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Register - Security
The Register - Security
Y
Y Combinator Blog
J
Java Code Geeks
I
Intezer

博客园 - 左少白

oracle 找回DROP掉的表 求解,工作流点通过时,弹出窗口让用户录入审核意见 oracle 游标 c# 多态 sqlserver 按五分钟分组 c# 继承 查询行转列 SqlParameter序列化的问题 oracle oracle trunc (date,dd )函数 oracle 游标 对象集合转换为datatable 用C# 正则 提取HTML标签中的值? oracle decode 与 case when ,空的处理 oracle select for update sql1 同期进度,完成率 Oracle Index 相關知識 oracle索引 在Oracle中进行大小写不敏感的查询2
玩转DevExpress.XtraGrid.view.gridview
左少白 · 2010-01-04 · via 博客园 - 左少白

(一)双击展开,收缩字表
Private Sub ExpandedChild(ByVal sender As DevExpress.XtraGrid.Views.Grid.GridView)
'找出焦点行
Dim VIntPage As Integer = sender.FocusedRowHandle
If sender.GetMasterRowExpanded(VIntPage) Then
sender.CollapseMasterRow(VIntPage)
Else
sender.ExpandMasterRow(VIntPage)
End If
End Sub

(二)单击选中某行的checkbox
Private Sub GridChecked(ByVal sender As DevExpress.XtraGrid.Views.Grid.GridView, ByVal TableIndex As Integer)
Try
'找出焦点行做在的内存表中所在的行
Dim rowPlace As DataRow = CType(sender, GridView).GetDataRow(CType(sender, GridView).FocusedRowHandle)
'SELECTED为checkbox的字段名(1:选中,0:不选中)
If rowPlace("SELECTED") = 1 Then
rowPlace("SELECTED") = 0
Else
For Each VRow As DataRow In objLowerPriceQueryOut.Info.Tables(TableIndex).Rows
VRow!SELECTED = 0
Next
rowPlace("SELECTED") = 1
End If
Catch ex As Exception
End Try
End Sub

(三)设置gridview只读属性options->optionsbehavior->editable为false
设置单击选中该列,而不是单元格options->optionsSelction
->EnableApperanceFocusedCell为false

(四)将gridview中某一字段设置为RepositoryItemHyperLinkEdit,要触发该链接的事件,可以在In_place Editor Repository中触发click 事件。但是,触发该事件的同时,gridview中的OptionBehavior->Editable必须设置为true。

(五)在gridview中绑定内存表,要改变焦点行某一字段的值
'根据gridview的焦点行获取内存表的行数
Dim rowGoMain As DataRow = gridview.GetDataRow(sender.FocusedRowHandle)
'修改该行的值
rowGoMain("字段名") = "aa"

(六)对DataSet进行查询:
ds.Tables[0].DefaultView.RowFilter = "查询条件";

(七) 设置展开第一行的字表
gridview.SetMasterRowExpanded(1, True)

(八)设置gridview某一列汇总:选中该列,在SummaryItem设置相应属性即可。DisplayFormat为显示的格式,FieldName为需要汇总的字段……

(九)设置gridview单元格自动换行:在单元格中一个Memo控件,columnedit->new->MemoEdit,gridview中设置optionsview->rowautoheight=true

 

第三方控件使用大全

【张杰章开发过程中整理】

一、              ComboBoxEdit

1、 如何使其不可编辑

TextEditStyle 设置为:DisableTextEditor

2、 如何设置鼠标为手形

Cursor 设置为:Hand

二、              GridControl

1、 如何解决单击记录整行选中的问题

View->OptionsBehavior->EditorShowMode 设置为:Click

2、 如何新增一条记录

(1)gridView.AddNewRow()

(2)、实现gridView_InitNewRow事件

3、如何解决GridControl记录能获取而没有显示出来的问题

   gridView.populateColumns();

4、如何让行只能选择而不能编辑(或编辑某一单元格)

   (1)View->OptionsBehavior->EditorShowMode 设置为:Click

   (2)View->OptionsBehavior->Editable 设置为:false

5、如何禁用GridControl中单击列弹出右键菜单

   设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false

6、如何隐藏GridControlGroupPanel表头

   设置Run Design->OptionsView->ShowGroupPanel 设置为:false

7、如何禁用GridControl中列头的过滤器

   过滤器如下图所示:

   设置 Run Design->OptionsCustomization->AllowFilter 设置为:false

8、如何在查询得到0条记录时显示自定义的字符提示/显示

   如图所示:

方法如下:

  //When no Records Are Being Displayed

        private void gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e)

        {

            //方法一(此方法为GridView设置了数据源绑定时,可用)

            ColumnView columnView = sender as ColumnView;

            BindingSource bindingSource = this.gridView1.DataSource as BindingSource;

            if(bindingSource.Count == 0)

            {

                string str = "没有查询到你所想要的数据!";

                Font f = new Font("宋体", 10, FontStyle.Bold);

                Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5, e.Bounds.Right - 5, e.Bounds.Height - 5);

                e.Graphics.DrawString(str, f, Brushes.Black, r);

            }

            //方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法) 

            if (this._flag)

            {

                if (this.gridView1.RowCount == 0)

                {

                    string str = "没有查询到你所想要的数据!";

                    Font f = new Font("宋体", 10, FontStyle.Bold);

                    Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width - 5, e.Bounds.Height - 5);

                    e.Graphics.DrawString(str, f, Brushes.Black, r);

                }

            }

   }

9、如何显示水平滚动条?

   设置this.gridView.OptionsView.ColumnAutoWidth = false;

10、如何定位到第一条数据/记录?

   设置 this.gridView.MoveFirst()

11、如何定位到下一条数据/记录?

   设置 this.gridView.MoveNext()

12、如何定位到最后一条数据/记录?

   设置 this.gridView.MoveLast()

13设置成一次选择一行,并且不能被编辑

        this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;

          this.gridView1.OptionsBehavior.Editable = false;

     this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;

14、如何显示行号?

   this.gridView1.IndicatorWidth = 40;

       //显示行的序号

        private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)

        {

            if (e.Info.IsRowIndicator && e.RowHandle>=0)

            {

                e.Info.DisplayText = (e.RowHandle + 1).ToString();

            }

   }

15、如何让各列头禁止移动?

    设置gridView1.OptionsCustomization.AllowColumnMoving = false;

16、如何让各列头禁止排序?

    设置gridView1.OptionsCustomization.AllowSort = false;

17、如何禁止各列头改变列宽?

    设置gridView1.OptionsCustomization.AllowColumnResizing = false;

18

19

20

21

22

23

24

25

26

三、navBarControl

1、如何在每一个navBarGroup里添加自己想要的控件

   设置GroupStyle: ControlContainer

2、如何设置navBarGroup有滚动条

   设置SkinExplorerBarViewScrollStyle:ScrollBar

3、 如休把navBarGroup设置成如下样式

如图所示:

   设置navBarGroupPaintStyleName属性为: SkinNavigationPane

四、toolTipController

效果图如下:

1、如何设置显示的时间长短

   设置this.toolTipController1.AutoPopDelay = 2000;

2如何在屏幕上显示如上图所示的效果

           ToolTipControllerShowEventArgs args = this.toolTipController1.CreateShowArgs();

           this.toolTipController1.SetToolTip(this.sbtnYes, "请选择一条记录!");

           this.toolTipController1.SetTitle(this.sbtnYes, "提示");

           this.toolTipController1.SetToolTipIconType(this.sbtnYes, DevExpress.Utils.ToolTipIconType.Exclamation);

           this.toolTipController1.ShowBeak = true;

           this.toolTipController1.ShowShadow = true;

           this.toolTipController1.Rounded = true;

           this.toolTipController1.ShowHint("请选择一条记录!", "提示");                   

           args.ToolTip = "请选择一条记录!";

   args.Title = "提示";     

3如何设置边框的颜色

   this.toolTipController1.Appearance.BorderColor = Color.Red;

五、TextEdit

1、如何设置TextEdit为多行,可拉伸

   设置TextEdit的Propertity->AutoHeight为:False

六、LayoutControl

        1、如何设置LayoutItem为隐藏

           设置LayoutItem.Visibility = Never

七、TreeList

1、如何隐藏TreeList的列头

   设置TreeListrOptionsViewShowColumns属性为:False

2、如何

八、PictureEdit

1、如何禁止PictureEdit的右键菜单?

设置PictureEditProperties->ShowMenu为:false

九、TreeList

1、 如何让TreeList的每个结点高亮显示?

效果如下:

代码如下:

private void treeList1_CustomDrawNodeCell(object sender, DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e)

        {

            TreeList node = sender as TreeList;

            if (e.Node == node.FocusedNode)

            {

                e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);

                Rectangle r = new Rectangle(e.EditViewInfo.ContentRect.Left,

                                            e.EditViewInfo.ContentRect.Top,

                                            Convert.ToInt32(e.Graphics.MeasureString(e.CellText,                                                                treeList1.Font).Width + 1),

                                            Convert.ToInt32(e.Graphics.MeasureString(e.CellText,treeList1.Font).Height));

                e.Graphics.FillRectangle(SystemBrushes.Highlight, r);

                e.Graphics.DrawString(e.CellText, treeList1.Font, SystemBrushes.HighlightText, r);

                e.Handled = true;

            }

        }

//============================================================================

//===============================以下内容为收集===============================

//============================================================================

一、改变grid的样式。

DevExpress.XtraGrid.Design.XAppearances xapp;

xapp=new DevExpress.XtraGrid.Design.XAppearances(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System) + "\\DevExpress.XtraGrid.Appearances.xml ");

xapp.LoadScheme(样式名字, gridControl1.MainView);

二、选择单元设置和取所选的值

     gridView1.OptionsSelection.MultiSelect = ceMultiSelect.Checked; //多行选择

     gridView1.OptionsSelection.MultiSelectMode= GridMultiSelectMode.CellSelect;

     gridView1.OptionsSelection.MultiSelectMode= GridMultiSelectMode. RowSelect; //

三、gridview的控制

///<取当前选中的值>

        string GetSelectedRows(GridView view) {

            string ret = "";

            int rowIndex = -1;

            if(view.OptionsSelection.MultiSelectMode == GridMultiSelectMode.RowSelect) {

                foreach(int i in gridView1.GetSelectedRows()) {

                    DataRow row = gridView1.GetDataRow(i);

                    if(ret != "") ret += "\r\n";

                    ret += string.Format("Company Name: {0} (#{1})", row["CompanyName"], i);

                }

            }

            else {

                foreach(GridCell cell in view.GetSelectedCells()) {

                    if(rowIndex != cell.RowHandle) {

                        if(ret != "") ret += "\r\n";

                        ret += string.Format("Row: #{0}", cell.RowHandle);

                    }

                    ret += "\r\n    " + view.GetRowCellDisplayText(cell.RowHandle, cell.Column);

                    rowIndex = cell.RowHandle;

                }

            }

            return ret;

        }

///<设置选中的颜色>//半透明的效果

 private void icbTranslucentColors_CheckedChanged(object sender, System.EventArgs e) {

            if(icbTranslucentColors.Checked) {

                gridView1.Appearance.SelectedRow.BackColor = Color.FromArgb(30, 0, 0, 240);

                gridView1.Appearance.FocusedRow.BackColor = Color.FromArgb(60, 0, 0, 240);

            }

            else {

                gridView1.Appearance.SelectedRow.Reset();

                gridView1.Appearance.FocusedRow.Reset();

            }

        }

///<自动添加一行>

gridView1.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom//Top/None;

///<设置gridView的按钮>

    gridView1.ShowButtonMode = ShowButtonModeEnum.。。。。。。

      gridView1.OptionsBehavior.Editable = chEdit.Checked; //设置按钮是否可用

///向选中的空间输入字符串

 SendKeys.Send(fsfds);

///控件焦点

gridControl1.Focus();

四、cardView的设置

///是否现实快捷按钮CustomizeButton

cardView1.OptionsView.ShowQuickCustomizeButton=true/false;

///设置CustomizeButton的能否排序和过滤

foreach(GridColumn col in cardView1.Columns)

            {   col.OptionsColumn.AllowSort}

foreach(GridColumn col in cardView1.Columns)

              { col.OptionsFilter.AllowFilter}

///card的头上的ico显示

cardView1.LayoutChanged();

///card的头上的标题改变显示

cardView1.CardCaptionFormat =””;

///cardview显示的单个记录的折叠按钮

cardView1.OptionsView.ShowCardExpandButton=true;

///

cardView1.MaximumCardColumns =iSize

cardView1.MaximumCardRows = val;

cardView1.OptionsBehavior.AutoHorzWidth

///多选

cardView1.OptionsSelection.MultiSelect = ceMultiSelect.Checked;

foreach(int i in cardView1.GetSelectedRows()) {

                DataRow row = cardView1.GetDataRow(i);

                if(ret != "") ret += "\r\n";

                ret += string.Format("{0} / {1} : {2:$#,0.00}", row["Trademark"], row["Model"], row["Price"]);

            }///查看选择中的记录

CellMerging(单元格合并的效果)

///

CellMerging(单元格合并的效果)

gridView1.OptionsView.AllowCellMerge = ceMerging.Checked;

Fixed Bands(bandedGridView)

///两边固定

gridBand3 的一列的Fixed属性改成 Right,Left,None

///固定与非固定列之间的距离用

bandedGridView2.FixedLineWidth = (int)numFixedLineWidth.Value;

///设置列的颜色

l          打开Run Designer 选中Columns 选中要改变的列 里面有AppearanceCell (设置列的外观)和 AppearanceHeader(设置表格头的外观)

l          或者选中该列查看“属性”里面也有这两个属性。

///统计 gridView bandedGridView通用)

分组统计和全部统计:

全部统计:在最下面显示统计的结果。

        Run Designer->Total Summary //->General 设置显示        

                                    //->Columns 对特定列来设置统计

汇总结果是否显示:可以通过gridControl的view的ShowFooter属性来设置表格下面的汇总结果

分组统计:

以上就是“分组”的 显示在每个分组下面来显示汇总结果。

通过bandedGridView2.GroupFooterShowMode= GroupFooterShowMode.。。。。设置分组的显示模式。

///GridView设置菜单

         #region Grid events

         private void gridView1_ShowGridMenu(object sender, DevExpress.XtraGrid.Views.Grid.GridMenuEventArgs e) {

              if(e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) {

                   DevExpress.XtraGrid.Menu.GridViewColumnMenu menu = e.Menu as DevExpress.XtraGrid.Menu.GridViewColumnMenu;

                   menu.Items.Clear();

                   if(menu.Column != null) {

                       menu.Items.Add(CreateCheckItem("Not Fixed", menu.Column, FixedStyle.None, imageList2.Images[0]));

                       menu.Items.Add(CreateCheckItem("Fixed Left", menu.Column, FixedStyle.Left, imageList2.Images[1]));

                       menu.Items.Add(CreateCheckItem("Fixed Right", menu.Column, FixedStyle.Right, imageList2.Images[2]));

                   }

              }

         }

         #endregion

         #region New column menu

         DXMenuCheckItem CreateCheckItem(string caption, GridColumn column, FixedStyle style, Image image) {

              DXMenuCheckItem item = new DXMenuCheckItem(caption, column.Fixed == style, image, new EventHandler(OnFixedClick));

              item.Tag = new MenuInfo(column, style);

              return item;

         }

         void OnFixedClick(object sender, EventArgs e) {

              DXMenuItem item = sender as DXMenuItem;

              MenuInfo info = item.Tag as MenuInfo;

              if(info == null) return;

              info.Column.Fixed = info.Style;

         }

         class MenuInfo {

              public MenuInfo(GridColumn column, FixedStyle style) {

                   this.Column = column;

                   this.Style = style;

              }

              public FixedStyle Style;

              public GridColumn Column;

         }

#endregion

///gridview cardView自动行高

l          行高自动匹配

 gridView1.OptionsView.RowAutoHeight = ce.Checked;

 cardView1.OptionsBehavior.FieldAutoHeight = ce.Checked;

l          当文字多的时候(行高自动匹配 设置是才有用)

     repositoryItemMemoEdit1.LinesCount = ce.Checked ? 0 : 1;

     设置自动全部显示该的所有行。

l          图片时(行高自动匹配 设置是才有用)

     repositoryItemPictureEdit1.CustomHeight = ce.Checked ? 0 : 40;

///BandedGridView自己订制列的方法

advBandedGridView1.ColumnsCustomization();

advBandedGridView1.DestroyCustomization();

advBandedGridView1.OptionsCustomization.AllowChangeColumnParent = edit.Checked;

advBandedGridView1.OptionsCustomization.AllowChangeBandParent = edit.Checked;

advBandedGridView1.OptionsCustomization.ShowBandsInCustomizationForm = edit.Checked;

///设置 图片动画模式

gridView1.OptionsView.AnimationType = (GridAnimationType)

///根据字段来分组模式

switch(index) {

                       case 0:

                            SetInterval(gridColumn1, ColumnGroupInterval.Alphabetical);

                            gridColumn2.GroupInterval = ColumnGroupInterval.Alphabetical;

                            break;

                       case 1:

                            SetInterval(gridColumn5, ColumnGroupInterval.DateMonth);

                            break;

                       case 2:

                            SetInterval(gridColumn5, ColumnGroupInterval.DateYear);

                            break;

                       case 3:

                            SetInterval(gridColumn5, ColumnGroupInterval.DateRange);

                            break;

                       case 4:

                            SetSortMode(gridColumn4, ColumnSortMode.Custom);

                            break;

                       default:

                            SetInterval(gridColumn2, ColumnGroupInterval.Value);

                            break;

                                          }

     void SetInterval(GridColumn column, ColumnGroupInterval interval) {

              column.GroupInterval = interval;

              column.GroupIndex = 0;

         }

         void SetSortMode(GridColumn column, ColumnSortMode sortMode) {

              column.SortMode = sortMode;

              column.GroupIndex = 0;

         }

改变分组样式

gridView1.OptionsView.GroupDrawMode = (GroupDrawMode)

///清除分组

gridView1.ClearGrouping(); 

foreach(GridColumn column in gridView1.Columns) {

                       column.GroupInterval = ColumnGroupInterval.Default;

                       column.SortMode = ColumnSortMode.Default;

                                          }

///CustomDataSummaries设置Grop

private void numCustom_ValueChanged(object sender, System.EventArgs e) {

            CustomGridView.UpdateSummary();

            UpdateCaptions(numCustom.Value);

        }

        private void UpdateCaptions(decimal d) {

            CustomGridView.GroupSummary[0].DisplayFormat = "(Order Count [WHERE Freight >= " + d.ToString() + "] = {0})";

            OnSetCaption("");

            gridView2.FormatConditions[0].Value1 = d;

        }

        protected override void OnSetCaption(string fCaption) {

            fCaption = "count records WHERE Freight >= " + numCustom.Value.ToString();

            if(Caption != null)

                Caption.Text = string.Format("{0} ({1})", TutorialName, fCaption);

        }

///下面的效果的实现

Run Designere -> Style Conditions ->Add ->column设置列的 Condition设置条件 value1,value2是参数值

代码:

   public void setStyle(GridView gridView)

        {

            StyleFormatCondition cn;

            cn = new StyleFormatCondition(FormatConditionEnum.Equal, gridView.Columns["bd_c"], null,false);

            cn.ApplyToRow = true;//false只对列其作用。

            cn.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Bold);

            cn.Appearance.ForeColor = Color.Brown;

            gridView.FormatConditions.Add(cn);

        }

///LayoutView

layoutView1.OptionsCarouselMode.PitchAngle = (float)(((int)flatFactor.EditValue) / 360.0f * 2 * Math.PI);///卡片的高度设置flatFactor.EditValue的值(0-360)

layoutView1.OptionsCarouselMode.RollAngle = (float)(((int)rollAngle.EditValue) / 360.0f * 2 * Math.PI);// ///卡片的旋转角度设置rollAngle.EditValue的值(0-360)

layoutView1.OptionsCarouselMode.BottomCardScale = ((int)endSizeScale.EditValue) / 100.0f;

 ///卡片的距离设置endSizeScale.EditValue的值(0-100)

layoutView1.OptionsCarouselMode.BottomCardAlphaLevel = ((int)endAlpha.EditValue) / 100.0f;

///卡片的卡片透明程度设置endAlpha.EditValue的值(0-100)

 layoutView1.OptionsCarouselMode.BottomCardFading = ((int)bottomCardFading.EditValue) / 100.0f; ///卡片的卡片褪色程度设置bottomCardFading.EditValue的值(0-100)

layoutView1.OptionsCarouselMode.CardCount = (int)cardsCount.EditValue;

///卡片的能显示数量设置cardsCount.EditValue的值(0-20)

layoutView1.OptionsCarouselMode.InterpolationMode = (InterpolationMode)

//修改卡片的方式

///layout卡片的样式在 run designer -> layout里面设置

 Size originalCardMinSize = Size.Empty;

        private void zoomTrackBarControl1_EditValueChanged(object sender, EventArgs e) {

            if(originalCardMinSize == Size.Empty) originalCardMinSize = layoutView1.CardMinSize;

            double koeff = ((int)zoomTrackBarControl1.EditValue) / 100.0 - 0.2;

            Size newSize = new Size(originalCardMinSize.Width + (int)(originalCardMinSize.Width * koeff), originalCardMinSize.Height + (int)(originalCardMinSize.Height * koeff));

            layoutView1.CardMinSize = newSize;

        }////设置卡片的大小的(zoomTrackBarControl1z(0-100))

下图中设置layoutView位置的方法

 protected void SetMasterTableLeftPlacement() {

            LayoutItemDragController dc = new LayoutItemDragController(masterTableItem, detailTableItem, InsertLocation.Before, LayoutType.Horizontal);

            DoDragItem(dc);

            SetMasterViewColumnLayout();

        }

        protected void SetMasterTableRightPlacement() {

            LayoutItemDragController dc = new LayoutItemDragController(masterTableItem, detailTableItem, InsertLocation.After, LayoutType.Horizontal);

            DoDragItem(dc);

            SetMasterViewColumnLayout();

        }

        private void SetMasterTableTopPlacement() {

            LayoutItemDragController dc = new LayoutItemDragController(masterTableItem, detailTableItem, InsertLocation.Before, LayoutType.Vertical);

            DoDragItem(dc);

            SetMasterViewRowLayout();

        }

        protected void SetMasterTableBottomPlacement() {

            LayoutItemDragController dc = new LayoutItemDragController(masterTableItem, detailTableItem, InsertLocation.After, LayoutType.Vertical);

            DoDragItem(dc);

            SetMasterViewRowLayout();

        }

        protected void DoDragItem(LayoutItemDragController dc) {

            masterTableItem.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Default;

            masterTableItem.Move(dc);

        }

        protected void SetMasterViewColumnLayout() {

            SetMasterItemVerticalSize();

            employesLayoutView.OptionsBehavior.AllowSwitchViewModes = true;

            employesLayoutView.OptionsView.ViewMode = LayoutViewMode.Column;

            employesLayoutView.OptionsBehavior.AllowSwitchViewModes = false;

            employesLayoutView.Refresh();

        }

        protected void SetMasterViewRowLayout() {

            SetMasterItemHorizontalSize();

            employesLayoutView.OptionsBehavior.AllowSwitchViewModes = true;

            employesLayoutView.OptionsView.ViewMode = LayoutViewMode.Row;

            employesLayoutView.OptionsBehavior.AllowSwitchViewModes = false;

            employesLayoutView.Refresh();

        }//// private DevExpress.XtraLayout.LayoutControlItem masterTableItem;

///直接打印gridcontrol

Cursor currentCursor = Cursor.Current;

Cursor.Current = Cursors.WaitCursor; //取当前的鼠标。并设置

if(DevExpress.XtraPrinting.PrintHelper.IsPrintingAvailable)

DevExpress.XtraPrinting.PrintHelper.ShowPreview(gridControl1);///打印

else

MessageBox.Show("XtraPrinting Library is not found...", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

Cursor.Current = currentCursor;