Dev 控件之GridControl

来源:互联网 发布:六感网投程序源码 编辑:程序博客网 时间:2024/04/30 23:16


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

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

二、如何新增一条记录

(1)、gridView.AddNewRow()

(2)、实现gridView_InitNewRow事件


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

gridView.populateColumns();


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

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

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


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

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


六、如何隐藏GridControl的GroupPanel表头

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


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

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


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

方法如下:

//When no Records Are Being Displayed
private void gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventA
rgs 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.Bou
nds.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);
         }
    }
}

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

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


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

设置 this.gridView.MoveFirst()


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

设置 this.gridView.MoveNext()


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

设置 this.gridView.MoveLast()


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

this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this.gridView1.OptionsBehavior.Editable = false;
this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;

十四、如何显示行号?

this.gridView1.IndicatorWidth = 40; //显示行的序号 private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomD
rawEventArgs e)
{
    if (e.Info.IsRowIndicator && e.RowHandle>=0)
    {
         e.Info.DisplayText = (e.RowHandle + 1).ToString();
    }
}

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

设置gridView1.OptionsCustomization.AllowColumnMoving = false;


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

设置gridView1.OptionsCustomization.AllowSort = false;


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

设置gridView1.OptionsCustomization.AllowColumnResizing = false;


十八、设置button列,当点击Button时,获取当前点击行

            RepositoryItemButtonEdit rib = new RepositoryItemButtonEdit();
            rib.TextEditStyle = TextEditStyles.HideTextEditor;
            rib.Buttons[0].Kind = ButtonPredefines.Glyph;
            rib.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPresse
            dEventHandler(this.GBDetail);//时间委托
            rib.Buttons[0].Caption = "详细信息";
            rib.Buttons[0].Visible = true;
            gridView1.Columns["变数"].ColumnEdit = rib;


            //事件
            private void GBDetail(object sender, DevExpress.XtraEditors.Controls.ButtonPress
            edEventArgs e)
            {
                //获取当前行的index
                int RowIndex = gridView1.FocusedRowHandle;
                DataRow row = gridView1.GetDataRow(RowIndex);//获取当前行
             }

十九、  全部展开所有分组 gridView1.OptionsBehav ior.AutoExpandAllGroups = true;    


二十、支持多选          

   gridView1.OptionsSelection.MultiSelect = true;

  gridView1 .OptionsSelection.MultiSelectMode =DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;






0 0
原创粉丝点击