千家信息网

如何使用ComponentOne提高.NET DataMap中的加载速度

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了如何使用ComponentOne提高.NET DataMap中的加载速度,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下
千家信息网最后更新 2025年02月01日如何使用ComponentOne提高.NET DataMap中的加载速度

这篇文章主要介绍了如何使用ComponentOne提高.NET DataMap中的加载速度,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

概述

  1. FlexGrid for WinForm 采用了最新的数据绑定技术,并与Microsoft .NET Framework无缝集成。 因此,您可以获得易于使用的灵活网格控件,用于创建用户友好界面,以显示、编辑、格式化、组织、汇总和打印表格数据。

  2. FlexGrid的DataMap属性允许您实现"已翻译"的行或列。在转换的行或列中,网格不显示存储在单元格中的值。相反,它会在列的DataMap中查找这些值并显示映射的值。

  3. 有时您可能需要在C1FlexGrid / C1FlexGridClassic中使用DataMap来显示项目列表。即使列表包含大量数据,其加载也是平滑且即时的。在本文中,我们将讨论如何使用自定义ComboBox编辑器以加快DataMap网格的加载时间。

创建编辑器并在Grid中托管它

所有内置网格编辑器都实现IC1EmbeddedEditor接口,ComponentOne Input库中的控件也是如此。 如果我们想要使用带有C1FlexGrid的第三方编辑器,我们需要创建一个派生类并实现此接口。

实现步骤

创建一个模型类MyComboItem来绑定ComboBox。

public class MyComboItem

{    public int Id { get; set; }    public string Display { get; set; }}

创建一个自定义控件MyComboBox,它继承ComboBox类并实现IC1EmbeddedEditor接口。

public partial class MyComboBox : ComboBox, IC1EmbeddedEditor    {        public MyComboBox()        {            InitializeComponent();        }        #region IC1EmbeddedEditor-Members        // Initialize editor: select transferred value        public void C1EditorInitialize(object value, IDictionary editorAttributes)        {                this.SelectedValue = value;        }        //Get value from editor        public object C1EditorGetValue()        {            return (base.SelectedItem as MyComboItem)?.Id;         }        //Value is always TRUE        public bool C1EditorValueIsValid()        {            return true;        }        //Adjust editor size        public void C1EditorUpdateBounds(Rectangle rc)        {            if (rc.Height != -1 && rc.Width != -1)            {                this.Location = new Point(rc.X, rc.Y);                this.Width = rc.Width;                this.Height = this.DefaultSize.Height;            }            else            {    //Editor has scrolled out of the picture. Take over the height / width of -1.                this.Width = -1;                this.Height = -1;            }        }        //TRUE if Escape or Enter        public bool C1EditorKeyDownFinishEdit(KeyEventArgs e)        {            if (e.KeyCode == Keys.Escape || e.KeyCode == Keys.Enter)                return true;            return false;        }        //Format and editor value        public string C1EditorFormat(object value, string mask)        {            return null;        }       //Style of Editors        public UITypeEditorEditStyle C1EditorGetStyle()        {            return UITypeEditorEditStyle.DropDown;        }        #endregion    }}

创建MyComboBox类的实例,并将其分配给网格的列编辑器,如下所示:

Dictionary DMap = new Dictionary();            ComboBox c1 = new MyComboBox();            List _list = new List();                          c1.DataSource = _list;            c1.ValueMember = "Id";            c1.DisplayMember = "Display";                        _flex.Cols[2].Editor = c1;           _flex.Cols[2].DataMap = DMap; //use DataMap to show IDs as values.

感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用ComponentOne提高.NET DataMap中的加载速度"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

编辑器 网格 篇文章 接口 控件 数据 速度 平滑 价值 兴趣 单元 同时 实例 属性 技术 无缝 时间 更多 朋友 格式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京云代账互联网科技公司 江苏大修管理软件开发公司 不同服务器可以邮寄东西吗 公网远程局域网服务器 网络安全模式无法打开QQ 暗黑2角色卡在服务器里了 我的世界九年无人管理服务器 222.211.72服务器 电信怎么开通三爱服务器 沈阳收钱吧互联网科技有限公司 激战2联通服务器 网络安全移动端的宣传 网络安全管理及应用技术贾铁军 内乡网络安全宣传 贵州彩数网络技术公司 海康eg4000服务器 软件开发及软件销售的区别 手机一直显示连接服务器状态 网络技术公司的简介 三级网络技术填空题总是错 学校网络安全解决办法 何鹏网络技术 四川定制化上位机软件开发 我的世界pe饥饿服务器 什么是网络技术服务材料 网吧服务器的作用 江苏服务器厂家直供云服务器 山东省网络安全保卫工作会议 数据库表的索引字段不能重复的 安卓软件开发工资一般多少钱
0