zoukankan      html  css  js  c++  java
  • DevExpress 经典常用功能代码收集





    ‍DevExpress
    经典常用功能代码收集
    May 18, 2010 | tags DevExpress WinformGridControl DEV常用功能代码
    | views
    Comments 0







    随着DevExpress 控件包越来越多的被中国用户使用,由于是英文版本,看英文版使用说明非常困难,慧都控件网在DevExpress
    控件包使用方面有多年的研究,慧都控件网会不断的把DevExpress 使用经验分享给大家。


    下面是我们平时收集最常用的DevExpress Winform 4个代码片段,比较常用,希望对广大DEV用户有帮助。


    、GridControl的删除操作

    private void
    rILinkEditInfoDel_Click(object sender, EventArgs e)
    {
    if (XtraMessageBox.Show("请确定是否删除当前记录?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
    {
    DataRow row =
    gvInfos.GetDataRow(gvInfos.FocusedRowHandle);

    delByCode(row["Code"].ToString());

    XtraMessageBox.Show("操作成功!");

    }
    }

    二、绑定非数据表中列

    Hashtable ht = new
    Hashtable();

    private void gridView6_CustomUnboundColumnData(object
    sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
    {

    GridView View = sender as GridView;
    if (e.RowHandle >= 0)

    {
    object needAlert = View.GetRowCellValue(e.RowHandle,
    View.Columns["needAlert"]);
    if (needAlert != null & needAlert !=
    DBNull.Value && needAlert.ToString().Trim() != "0" &
    View.GetRowCellValue(e.RowHandle, View.Columns["Value"]) !=
    DBNull.Value)
    {
    decimal AverValue =
    Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,
    View.Columns["Value"]));
    object MinValue =
    View.GetRowCellValue(e.RowHandle, View.Columns["MinValue"]);

    object MaxVlaue = View.GetRowCellValue(e.RowHandle,
    View.Columns["MaxValue"]);
    if (MinValue != DBNull.Value &
    MinValue != null & MaxVlaue.ToString() != "" & MaxVlaue != DBNull.Value
    && MaxVlaue != null & MaxVlaue.ToString() != "")

    {
    decimal gridColumn2 =
    Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,
    View.Columns["MinValue"]));
    decimal gridColumn1 =
    Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,
    View.Columns["MaxValue"]));
    if (gridColumn2 > AverValue
    || AverValue > gridColumn1)
    {
    if
    (!ht.ContainsKey("pic"))
    ht.Add("pic",
    GetImage(1));
    e.Value = ht["pic"];

    }
    }
    }
    }
    }

    ///


    /// 由资源文件获取图片
    ///

    ///
    ///
    byte[]
    GetImage(int key)
    {
    Image img =
    DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format("RiverSys.Resources.{0}.gif",
    key.ToString()), typeof(RiverInfos).Assembly);
    return
    DevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img,
    ImageFormat.Gif);
    }

    ///
    /// 动态根据条件设置行样式
    ///

    ///
    ///

    private void gridView6_RowStyle(object
    sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
    {

    GridView View = sender as GridView;
    if (e.RowHandle >= 0)

    {
    object needAlert = View.GetRowCellValue(e.RowHandle,
    View.Columns["needAlert"]);
    if (needAlert != null & needAlert !=
    DBNull.Value && needAlert.ToString().Trim() != "0" &
    View.GetRowCellValue(e.RowHandle, View.Columns["Value"]) !=
    DBNull.Value)
    {
    decimal AverValue =
    Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,
    View.Columns["Value"]));
    object MinValue =
    View.GetRowCellValue(e.RowHandle, View.Columns["MinValue"]);

    object MaxVlaue = View.GetRowCellValue(e.RowHandle,
    View.Columns["MaxValue"]);
    if (MinValue != DBNull.Value &
    MinValue != null & MaxVlaue.ToString() != "" & MaxVlaue != DBNull.Value
    && MaxVlaue != null & MaxVlaue.ToString() != "")

    {
    decimal gridColumn2 =
    Convert.ToDecimal(MinValue);
    decimal gridColumn1 =
    Convert.ToDecimal(MaxVlaue);
    if (gridColumn2 > AverValue
    || AverValue > gridColumn1)
    {

    e.Appearance.ForeColor = Color.Red;

    e.Appearance.BackColor = Color.LightGray;
    }

    }
    }
    }
    }

    三、GridControl
    中颜色选择控件

    private void gvMapColor_CustomUnboundColumnData(object
    sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
    {

    GridView view = sender as GridView;
    DataView dv = view.DataSource as
    DataView;
    if (e.IsGetData)
    {
    string strVal =
    dv[e.ListSourceRowIndex]["Color"].ToString();
    if (strVal !=
    "")
    {
    //e.Value =
    DevExpress.Utils.StyleLayout.ColorFromString(strVal);
    e.Value =
    Common.HexToColor(strVal);
    }
    }
    else

    {
    //Color colorVal =
    DevExpress.Utils.StyleLayout.ColorFromString(e.Value.ToString());

    Color colorVal = (Color)e.Value;
    dv[e.ListSourceRowIndex]["Color"] =
    Common.RGB_HEX(colorVal.ToArgb());
    }
    }

    四、关于
    GridControl 验证示例

    /**////
    ///
    初始化GridView,绑定数据
    ///

    ///
    private void GridViewBindData(string
    parentId)
    {
    this.gridView1.Columns.Clear();
    this.FDs=
    areaSetupActionHelper.getDsRegionByParentId(parentId);
    this.gridCArea.DataSource
    =this.FDs.Tables[0].DefaultView;


    this.gridView1.Columns["id"].VisibleIndex = -1;

    this.gridView1.Columns["childCounts"].VisibleIndex = -1;


    this.gridView1.Columns["reg_id"].Caption = "区划编号";

    this.gridView1.Columns["reg_name"].Caption = "区划名称";

    this.gridView1.Columns["parent_id"].Caption = "父区划编号";

    this.gridView1.Columns["reg_desc"].Caption = "区划描述";

    this.gridView1.Columns["parent_id"].ImageIndex =1;

    this.gridView1.Columns["reg_desc"].ImageIndex = 0;


    RepositoryItemTextEdit textEditReg_Id = new RepositoryItemTextEdit();

    textEditReg_Id.Mask.EditMask =parentId+"\\d{2,3}";

    textEditReg_Id.Mask.MaskType =
    DevExpress.XtraEditors.Mask.MaskType.Regular;


    this.gridView1.Columns["reg_id"].ColumnEdit = textEditReg_Id;


    this.gridView1.Columns["reg_desc"].ColumnEdit = new
    RepositoryItemMemoExEdit();

    TreeListNode node =
    this.treelArea.FocusedNode.ParentNode;
    string fid =
    node==null?"0":node.GetValue("RegID").ToString().Trim();
    DataSet ds =
    areaSetupActionHelper.getDsRegionByParentId(fid);

    RepositoryItemLookUpEdit lookUEParent_Id = new
    RepositoryItemLookUpEdit();
    lookUEParent_Id.Columns.Add(new
    LookUpColumnInfo("reg_id", 40, "区划编号"));
    lookUEParent_Id.Columns.Add(new
    LookUpColumnInfo("reg_name", 40, "区划名称"));
    lookUEParent_Id.DataSource =
    ds.Tables[0].DefaultView;
    lookUEParent_Id.ValueMember = "reg_id";

    lookUEParent_Id.DisplayMember = "reg_id";

    this.gridView1.Columns["parent_id"].ColumnEdit =
    lookUEParent_Id;
    }
    /**////
    ///
    gridView单元格验证的相关处理程序
    ///

    ///
    ///
    private void gridView1_ValidatingEditor(object
    sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs
    e)
    {
    if (e.Valid == false&this.gridView1.FocusedColumn.FieldName ==
    "reg_id")
    {
    e.ErrorText = "区划编号不合法!\n应为父区划编号加2~3位数据组成!";

    }
    if (this.gridView1.FocusedColumn.FieldName == "reg_name")
    {

    Regex reg=new Regex(@"[\u4e00-\u9fa5]{1,20}");
    Match
    m=reg.Match(e.Value.ToString().Trim());
    if (m.Length !=
    e.Value.ToString().Trim().Length)
    {
    e.Valid = false;

    e.ErrorText = "区划名称应为汉字\n长度为1至20";
    }
    }
    }

    private void
    gridView1_InvalidValueException(object sender, InvalidValueExceptionEventArgs
    e)
    {
    if (MyDialog.Alert(" 您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?",
    "您所编辑的内容不符合规则", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) ==
    DialogResult.Yes)
    {
    e.ExceptionMode =
    ExceptionMode.Ignore;
    }
    }

    /**////
    ///
    gridView行验证的相关处理程序
    ///

    private void
    gridView1_ValidateRow(object sender,
    DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
    {
    string regid =
    this.gridView1.GetRowCellValue(e.RowHandle,
    "reg_id").ToString().Trim();
    string regName =
    this.gridView1.GetRowCellValue(e.RowHandle, "reg_name").ToString().Trim();
    if
    ( regid.Length < 1)
    {
    e.Valid = false;

    this.gridView1.SetColumnError(this.gridView1.Columns["reg_id"], "请填写区划编号!",
    DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);
    //
    e.ErrorText = "区划名称不能为空!";
    }
    if (regName.Length < 1)

    {
    e.Valid = false;

    this.gridView1.SetColumnError(this.gridView1.Columns["reg_name"], "区划名称不能为空!",
    DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);

    }
    }

    private void gridView1_InvalidRowException(object sender,
    DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e)
    {


    if (e.RowHandle >= 0)
    {
    if
    (this.gridView1.GetRowCellValue(e.RowHandle,
    this.gridView1.Columns["reg_id"]).ToString().Trim() == "" ||
    this.gridView1.GetRowCellValue(e.RowHandle,
    this.gridView1.Columns["reg_name"]).ToString().Trim() == "")
    {

    if (MyDialog.Alert("  您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?", "您所编辑的内容不符合规则",
    MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)

    {
    e.ExceptionMode = ExceptionMode.Ignore;
    }

    else
    {
    e.ExceptionMode = ExceptionMode.NoAction;

    }
    }
    }
    else
    {
    e.ExceptionMode =
    ExceptionMode.Ignore;
    }
    }

  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/wpf123/p/2052909.html
Copyright © 2011-2022 走看看