GridControl 使用技巧

1. 让列宽保持不变,当列特别多的时候出现滚动条  设置 View 中的OptionsView 中的 ColumnAutoWidth = False

2.使某一列出现如下拉框,复选框等效果:设置那一列的ColumnEidt

3.要对单元格的输入进行验证,使用gridview的ValidatingEditor事件

//输入验证
        private void gridView1_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e)
        {
            GridView gv = sender as GridView;
            List<string> timeColns = new List<string> { "PEDGRNTM", "PEDREDTM", "MINGRNTM", "GRNEXTENDTM", "MAXGRN1TM", 
                                        "MAXGRN2TM", "FIXGRNTM"};
            if (timeColns.Contains(gv.FocusedColumn.FieldName))
            {
                int inputValue;
                if (!(int.TryParse(e.Value.ToString(), out inputValue) && inputValue >= 0 && inputValue <= 255))
                {
                    e.Valid = false;
                    e.ErrorText = "必须是0到255的整数";
                }
            }
       }


4.要对单元格显示tooltip 需要先添加一个ToolTipController到窗口中,然后实现其GetActiveObjectInfo事件

        //单元格显示tooltip
        private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e)
        {
            if (e.SelectedControl != gridControl1)
                return;
            ToolTipControlInfo info = null;
            //Get the view at the current mouse position
            GridView view = gridControl1.GetViewAt(e.ControlMousePosition) as GridView;
            if (view == null) return;
            //Get the view's element information that resides at the current position
            GridHitInfo hitInfo = view.CalcHitInfo(e.ControlMousePosition);

            if (hitInfo.HitTest == GridHitTest.RowCell)
            {
                //An object that uniquely identifies a row indicator cell
                object o = hitInfo.RowHandle.ToString() + hitInfo.Column.FieldName;
                if (hitInfo.Column.FieldName == "PHASEKIND")
                {
                    string text = "1固定2待定3弹性4关键5跟随6行人7自行车8机动车";
                    info = new ToolTipControlInfo(o, text, "输入含义");
                }
            }
            //Supply tooltip information if applicable, otherwise preserve default tooltip (if any)
            if (info != null)
                e.Info = info;
        } 

4,设置单元格的显示样式

实现gridview 的CustomColumnDisplayText事件

        //修改显示样式
        private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            List<string> boolColns = new List<string> { "NO_DETCT_PHS_TOGETHER", "PED_VEH_TOGETHER", "UNDETERMINED_PHS_APPEAR", "ROAD_SECTION_PED"
                                        , "INUSING"};
            if (boolColns.Contains(e.Column.FieldName))
            {
                switch (e.Value.ToString().Trim())
                {
                    case "1":
                        e.DisplayText = "是";
                        break;
                    case "0":
                        e.DisplayText = "否";
                        break;
                    default:
                        break;
                }
            }
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShuSheng007

亲爱的猿猿,难道你又要白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值