public static void LazyLoad <T>(VirtualGridData <T> d) where T : new()
 {
     Task.Factory.StartNew(() => {
         using (BLL.GeneralBll bll = new BLL.GeneralBll())
         {
             lock (obj)
             {
                 int endIndex = Math.Min(d.LoadedCount + d.PerLoadSize, d.Data.Count);
                 var lazyData = bll.Select <T>(d.Grid.SortDescriptors.Expression, d.Grid.FilterDescriptors.Expression, d.LoadedCount + 1, endIndex);//bll.Read().OrderByDescending(x => x.ID).Skip(this.loadedRowCount).Take(endIndex - this.loadedRowCount).ToList();
                 for (int i = d.LoadedCount; i < endIndex; i++)
                 {
                     d.Data[i] = lazyData[i - d.LoadedCount];
                 }
                 d.LoadedCount = endIndex;
             }
         }
     }).ContinueWith(t => {
         syncContext.Post((state) => {
             //dynamic da = state;
             //var grid = da.Grid as RadVirtualGrid;
             var grid = d.Grid;
             if (grid.IsDisposed)
             {
                 return;
             }
             int waitingRow = grid.RowCount - 1;
             grid.RowCount  = Math.Min(d.LoadedCount + 1, d.Data.Count);
             grid.MasterViewInfo.StopRowWaiting(waitingRow);
         }, d);
     });
 }
        private static SynchronizationContext syncContext = SynchronizationContext.Current; //线程中更新UI模型传播上下文


        /// <summary>
        /// 设置virtualgrid 数据 并设置  CellValueNeeded
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="d"></param>
        /// <param name="syncContext"></param>
        public static void InitalLoad <T>(VirtualGridData <T> d) where T : new()
        {
            var grid = d.Grid;

            grid.RowCount    = 0;
            grid.ColumnCount = ModelHelper.GetColumnDisplayNames(typeof(T)).Count();

            ////设置Column宽度
            //grid.TableElement.ColumnsViewState.SetItemSize(0,30);

            //grid.ColumnWidthChanging += (s, e) => {
            //    //ID列为命令按钮,固定大小,不允许resize
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(T)), "ID");
            //    if (e.ColumnIndex==idIndex)
            //    {
            //        e.Cancel = true;
            //    }
            //};

            //grid.CreateCellElement += (s, e) => {
            //    //ID列约定为命令按钮
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(T)), "ID");
            //    if (e.RowIndex>=0 && e.ColumnIndex == idIndex)
            //    {
            //        e.CellElement = new Helpers.VirtualGridEditCommandCellElement();
            //    }

            //};
            //grid.CellFormatting += (s, e) => {
            //    //ID列约定为命令按钮
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(T)), "ID");
            //    if (e.CellElement.RowIndex == -3 && e.CellElement.ColumnIndex == idIndex)
            //    {
            //        e.CellElement.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
            //    }
            //    if (e.CellElement.RowIndex == -1 && e.CellElement.ColumnIndex == idIndex)
            //    {
            //        e.CellElement.Visibility= Telerik.WinControls.ElementVisibility.Hidden;
            //    }
            //};


            grid.CellValueNeeded += (s, e) => {
                if (e.ColumnIndex < 0 || d.Data == null) //|| data == null
                {
                    return;
                }

                if (e.RowIndex == RadVirtualGrid.HeaderRowIndex)
                {
                    e.Value = Helpers.ModelHelper.GetColumnDisplayNames(typeof(T))[e.ColumnIndex];
                }

                if (e.RowIndex < 0)
                {
                    e.FieldName = ModelHelper.GetColumnNames(typeof(T))[e.ColumnIndex];
                }

                if (e.RowIndex == e.ViewInfo.RowCount - 1 && e.ViewInfo.RowCount < d.Data.Count)
                {
                    e.Value = null;
                    e.ViewInfo.StartRowWaiting(e.RowIndex);
                    LazyLoad <T>(d);
                    //if (!this.lazyLoader.IsBusy)
                    //{
                    //    this.lazyLoader.RunWorkerAsync();
                    //}
                }
                else if (e.RowIndex >= 0)
                {
                    e.Value = ModelHelper.GetValueByPropertyName <T>(d.Data[e.RowIndex], ModelHelper.GetColumnNames(typeof(T))[e.ColumnIndex]);
                }
            };

            if (!grid.MasterViewInfo.IsWaiting)
            {
                grid.MasterViewInfo.IsWaiting = true;
            }
            Task.Factory.StartNew(() => {
                using (BLL.GeneralBll bll = new BLL.GeneralBll())
                {
                    lock (obj)
                    {
                        var count = bll.CountTable <T>(grid.FilterDescriptors.Expression);
                        d.Data    = new List <T>(count);
                        for (int i = 0; i < count; i++)
                        {
                            d.Data.Add(new T());
                        }
                        var initData  = bll.Select <T>(grid.SortDescriptors.Expression, grid.FilterDescriptors.Expression, 1, d.PerLoadSize);
                        d.LoadedCount = initData == null? 0: initData.Count();
                        if (initData != null)
                        {
                            for (int i = 0; i < initData.Count; i++)
                            {
                                d.Data[i] = initData[i];
                            }
                        }
                    }
                }
            }).ContinueWith(t => {
                syncContext.Post((state) => {
                    //dynamic d = state;
                    //var grid = da.Grid as RadVirtualGrid;
                    if (grid.IsDisposed)
                    {
                        return;
                    }
                    if (!t.IsFaulted)
                    {
                        grid.RowCount = Math.Min(d.LoadedCount + 1, d.Data.Count);
                    }

                    if (grid.MasterViewInfo.IsWaiting)
                    {
                        grid.MasterViewInfo.IsWaiting = false;
                    }
                }, d);
            });
        }
Esempio n. 3
0
        public AppUserAddEditForm()
        {
            InitializeComponent();
            this.AcceptButton = this.btnOk;
            this.CancelButton = this.btnCancel;
            this.FormClosed  += (s, e) => {
                //释放 资源
                if (bll != null)
                {
                    bll.Dispose();
                    bll = null;
                }
            };
            //设置dataentity
            this.deMain.FitToParentWidth    = true;
            this.deMain.ShowValidationPanel = true;
            this.deMain.EditorInitializing += (s, e) => {
                e.Editor.Name = e.Property.Name;
                if (e.Property.Name == "UserName" && EditMode == Enums.EditFormMode.Edit)
                {
                    e.Editor.Enabled = false;
                }
                else if (e.Property.Name == "Email")
                {
                    RadMaskedEditBox editor = new RadMaskedEditBox();
                    editor.MaskType = MaskType.EMail;
                    editor.MaskedEditBoxElement.StretchVertically = true;
                    e.Editor = editor;
                }
                //else if (e.Property.Name == "Tel")
                //{
                //    RadMaskedEditBox editor = new RadMaskedEditBox();
                //    editor.MaskType = MaskType.Regex;
                //    editor.MaskedEditBoxElement.StretchVertically = true;
                //    //editor.Mask = "9";
                //    e.Editor = editor;
                //}
            };
            this.deMain.ItemValidating += (s, e) => {
                Models.AppUser user = this.deMain.CurrentObject as Models.AppUser;
                switch (e.Label.Text)
                {
                case "用户名":
                    if (string.IsNullOrWhiteSpace(user.UserName))
                    {
                        string errorMessage = "用户名不能为空!";
                        e.ErrorProvider.SetError(s as Control, errorMessage);
                        e.Cancel = true;
                        AddErrorLabel(this.deMain, e.Label.Text, errorMessage);
                    }
                    else
                    {
                        e.ErrorProvider.Clear();
                        this.deMain.ValidationPanel.PanelContainer.Controls.RemoveByKey(e.Label.Text);
                    }
                    break;

                default:
                    break;
                }
            };

            this.Shown += (s, e) => {
                //设置窗体title
                switch (EditMode)
                {
                case Enums.EditFormMode.Add:
                    this.Text = "新增";
                    DataEntry = new Models.AppUser()
                    {
                        Password = Helpers.EncryptDecryptHelper.GetStringMD5("888888")
                    };                                                                                                   //新增用户默认密码
                    break;

                case Enums.EditFormMode.Edit:
                    this.Text = "编辑";
                    break;

                case Enums.EditFormMode.Delete:
                    this.Text = "删除";
                    break;

                default:
                    this.Text = "新增/编辑";
                    break;
                }
                if (DataEntry != null)
                {
                    this.deMain.DataSource = this.DataEntry;
                }
            };

            this.btnCancel.Click += (s, e) => {
                //this.UserRole.CancelEdit();
                this.DialogResult = DialogResult.Cancel;
            };

            this.btnOk.Click += (s, e) => {
                var t = ValidationHelper.hasValidationErrors(this.deMain.Controls);
                if (t)
                {
                    return;
                }

                this.btnOk.Enabled = false;

                Task.Factory.StartNew <AppUser>(() => {
                    Models.AppUser re = null;
                    if (EditMode == Enums.EditFormMode.Add)
                    {
                        re = bll.Insert <Models.AppUser>(this.DataEntry);
                    }
                    else if (EditMode == Enums.EditFormMode.Edit)
                    {
                        re = bll.Update <Models.AppUser>(this.DataEntry);
                    }


                    return(re);
                }).ContinueWith(tt => {
                    if (!tt.IsFaulted)
                    {
                        syncContext.Post((state) => {
                            Models.AppUser sta = (Models.AppUser)state;
                            if (sta != null)
                            {
                                this.DataEntry    = sta;
                                this.DialogResult = DialogResult.OK;
                                //this.SubmitSucess = true;
                            }
                            else
                            {
                                RadMessageBox.Show(this, "保存失败!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                            }
                        }, tt.Result);
                    }
                    syncContext.Post((state) => {
                        this.btnOk.Enabled = true;
                    }, tt.Result);
                });
            };
        }
Esempio n. 4
0
        public UserRolesAddEditForm()
        {
            InitializeComponent();
            this.AcceptButton = this.btnSubmit;
            this.CancelButton = this.btnCanel;

            this.FormClosed += (s, e) => {
                //释放 资源
                if (bll != null)
                {
                    bll.Dispose();
                    bll = null;
                }
            };

            //设置dataentity
            this.deUserRole.FitToParentWidth    = true;
            this.deUserRole.ShowValidationPanel = true;
            this.deUserRole.EditorInitializing += (s, e) => {
                e.Editor.Name = e.Property.Name;
            };
            this.deUserRole.ItemValidating += (s, e) => {
                Models.AppRole role = this.deUserRole.CurrentObject as Models.AppRole;
                switch (e.Label.Text)
                {
                case "角色名称":
                    if (string.IsNullOrWhiteSpace(role.RoleName))
                    {
                        string errorMessage = "角色名称不能为空!";
                        e.ErrorProvider.SetError(s as Control, errorMessage);
                        e.Cancel = true;
                        AddErrorLabel(this.deUserRole, e.Label.Text, errorMessage);
                    }
                    else
                    {
                        e.ErrorProvider.Clear();
                        this.deUserRole.ValidationPanel.PanelContainer.Controls.RemoveByKey(e.Label.Text);
                    }
                    break;

                default:
                    break;
                }
            };

            this.Shown += (s, e) => {
                //设置窗体title
                switch (EditMode)
                {
                case Enums.EditFormMode.Add:
                    this.Text = "新增";
                    UserRole  = new Models.AppRole();
                    break;

                case Enums.EditFormMode.Edit:
                    this.Text = "编辑";
                    break;

                case Enums.EditFormMode.Delete:
                    this.Text = "删除";
                    break;

                default:
                    this.Text = "新增/编辑";
                    break;
                }
                if (UserRole != null)
                {
                    this.deUserRole.DataSource = this.UserRole;
                    this.UserRole.BeginEdit();
                }
            };

            this.btnCanel.Click += (s, e) => {
                //this.UserRole.CancelEdit();
                this.DialogResult = DialogResult.Cancel;
            };

            this.btnSubmit.Click += (s, e) => {
                var t = ValidationHelper.hasValidationErrors(this.deUserRole.Controls);
                if (t)
                {
                    return;
                }

                this.btnSubmit.Enabled = false;
                Task.Factory.StartNew(() => {
                    Models.AppRole re = null;
                    if (EditMode == Enums.EditFormMode.Add)
                    {
                        re = bll.Insert <Models.AppRole>(this.UserRole);
                    }
                    else if (EditMode == Enums.EditFormMode.Edit)
                    {
                        re = bll.Update <Models.AppRole>(this.UserRole);
                    }

                    syncContext.Post((state) => {
                        this.btnSubmit.Enabled = true;
                        Models.AppRole sta     = (Models.AppRole)state;
                        if (sta != null)
                        {
                            this.UserRole     = sta;
                            this.DialogResult = DialogResult.OK;
                            //this.SubmitSucess = true;
                        }
                        else
                        {
                            RadMessageBox.Show(this, "保存失败!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                        }
                    }, re);
                });
            };
        }
Esempio n. 5
0
        public AppUserForm()
        {
            InitializeComponent();
            this.Text = "用户管理";
            //窗体关闭时dispose
            this.FormClosed += (s, e) => {
                if (bll != null)
                {
                    bll.Dispose();
                    bll = null;
                }
            };

            data = new Helpers.VirtualGridData <Models.AppUser> {
                Grid = this.vgMainGrid, LoadedCount = 0, PerLoadSize = 100
            };
            this.vgMainGrid.AutoSizeColumnsMode       = VirtualGridAutoSizeColumnsMode.Fill;//
            this.vgMainGrid.EnableAlternatingRowColor = true;
            this.vgMainGrid.Selection.Multiselect     = false;
            this.vgMainGrid.SelectionMode             = VirtualGridSelectionMode.FullRowSelect;
            this.vgMainGrid.AllowAddNewRow            = false;
            this.vgMainGrid.AllowEdit      = false;
            this.vgMainGrid.FilterChanged += (s, e) => { Helpers.VirtualGridDataHelper.InitalLoad <Models.AppUser>(data); };
            this.vgMainGrid.SortChanged   += (s, e) => { Helpers.VirtualGridDataHelper.InitalLoad <Models.AppUser>(data); };
            //表格删除时
            this.vgMainGrid.UserDeletedRow += (s, e) =>
            {
                DeleteEntry();
            };
            //双击编辑
            this.vgMainGrid.CellDoubleClick += (s, e) => {
                var cell = this.vgMainGrid.CurrentCell;
                if (cell == null)
                {
                    return;
                }
                if (cell.RowIndex < 0)
                {
                    return;
                }

                var current             = data.Data[cell.RowIndex];
                AppUserAddEditForm form = new AppUserAddEditForm();
                form.EditMode  = Enums.EditFormMode.Edit;
                form.DataEntry = current;


                var dr = form.ShowDialog(this);

                if (dr == DialogResult.OK)
                {
                    this.vgMainGrid.BeginUpdate();
                    data.Data[cell.RowIndex] = form.DataEntry;
                    this.vgMainGrid.EndUpdate();
                    this.vgMainGrid.SelectCell(cell.RowIndex, cell.ColumnIndex);
                }
            };

            //重置密码
            this.btnResetPassword.Click += (s, e) => {
                var cell = this.vgMainGrid.CurrentCell;
                if (cell == null)
                {
                    RadMessageBox.Show(this, "请选择一行!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                    return;
                }
                if (cell.RowIndex < 0)
                {
                    return;
                }

                var current = data.Data[cell.RowIndex];
                var dr      = RadMessageBox.Show(this, "密码将被重置为 888888,是否继续?", "", MessageBoxButtons.YesNo, RadMessageIcon.Question);
                if (dr == DialogResult.Yes)
                {
                    int re = bll.Update <Models.AppUser>(current.Id, "Password", Helpers.EncryptDecryptHelper.GetStringMD5("888888"));
                    if (re > 0)
                    {
                        RadMessageBox.Show(this, "密码已重置为 888888,请及时更改!", "", MessageBoxButtons.OK, RadMessageIcon.Info);
                    }
                    else
                    {
                        RadMessageBox.Show(this, "重置失败!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                    }
                }
            };

            //按钮编辑
            this.btnEdit.Click += (s, e) => {
                var cell = this.vgMainGrid.CurrentCell;
                if (cell == null)
                {
                    RadMessageBox.Show(this, "请选择一行!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                    return;
                }
                if (cell.RowIndex < 0)
                {
                    return;
                }

                var current             = data.Data[cell.RowIndex];
                AppUserAddEditForm form = new AppUserAddEditForm();
                form.EditMode  = Enums.EditFormMode.Edit;
                form.DataEntry = current;
                var dr = form.ShowDialog(this);
                //form.FormClosed += (ss, ee) => { Helpers.VirtualGridDataHelper.InitalLoad<Models.UserRole>(data, syncContext); };
                if (dr == DialogResult.OK)
                {
                    this.vgMainGrid.BeginUpdate();
                    data.Data[cell.RowIndex] = form.DataEntry;
                    this.vgMainGrid.EndUpdate();
                    this.vgMainGrid.SelectCell(cell.RowIndex, cell.ColumnIndex);
                }
            };


            this.btnReLoad.Click += (s, e) => {
                Helpers.VirtualGridDataHelper.InitalLoad <Models.AppUser>(data);
            };

            this.btnAdd.Click += (s, e) => {
                AppUserAddEditForm form = new AppUserAddEditForm();
                //form.StartPosition = FormStartPosition.WindowsDefaultLocation;
                form.EditMode = Enums.EditFormMode.Add;
                var dr = form.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    this.vgMainGrid.BeginUpdate();
                    this.data.Data.Insert(0, form.DataEntry);
                    this.vgMainGrid.RowCount++;
                    this.vgMainGrid.EndUpdate();
                    this.vgMainGrid.SelectCell(0, 0);
                }
            };

            this.btnDelete.Click += (s, e) => { DeleteEntry(); };

            Helpers.VirtualGridDataHelper.InitalLoad <Models.AppUser>(data);
        }
Esempio n. 6
0
        private void InitForm()
        {
            //窗体关闭时dispose
            this.FormClosed += (s, e) => {
                if (bll != null)
                {
                    bll.Dispose();
                    bll = null;
                }
            };

            data = new Helpers.VirtualGridData <Models.AppRole> {
                Grid = this.vgUserRoles, LoadedCount = 0, PerLoadSize = 100
            };
            this.Text = "角色管理";
            this.vgUserRoles.AutoSizeColumnsMode       = VirtualGridAutoSizeColumnsMode.Fill;//
            this.vgUserRoles.EnableAlternatingRowColor = true;
            this.vgUserRoles.Selection.Multiselect     = false;
            this.vgUserRoles.SelectionMode             = VirtualGridSelectionMode.FullRowSelect;
            this.vgUserRoles.AllowAddNewRow            = false;
            //this.vgUserRoles.AllowDelete = false;
            this.vgUserRoles.AllowEdit      = false;
            this.vgUserRoles.FilterChanged += (s, e) => { Helpers.VirtualGridDataHelper.InitalLoad <Models.AppRole>(data); };
            this.vgUserRoles.SortChanged   += (s, e) => { Helpers.VirtualGridDataHelper.InitalLoad <Models.AppRole>(data); };
            //表格删除时
            this.vgUserRoles.UserDeletedRow += (s, e) =>
            {
                DeleteEntry();
            };
            //双击编辑
            this.vgUserRoles.CellDoubleClick += (s, e) => {
                var cell = this.vgUserRoles.CurrentCell;
                if (cell == null)
                {
                    return;
                }
                if (cell.RowIndex < 0)
                {
                    return;
                }

                var current = data.Data[cell.RowIndex];
                UserRolesAddEditForm form = new UserRolesAddEditForm();
                form.EditMode = Enums.EditFormMode.Edit;
                form.UserRole = current;


                var dr = form.ShowDialog(this);

                if (dr == DialogResult.OK)
                {
                    this.vgUserRoles.BeginUpdate();
                    data.Data[cell.RowIndex] = form.UserRole;
                    this.vgUserRoles.EndUpdate();
                    this.vgUserRoles.SelectCell(cell.RowIndex, cell.ColumnIndex);
                }
            };
            //按钮编辑
            this.btnEdit.Click += (s, e) => {
                var cell = this.vgUserRoles.CurrentCell;
                if (cell == null)
                {
                    RadMessageBox.Show(this, "请选择一行!", "", MessageBoxButtons.OK, RadMessageIcon.Error);
                    return;
                }
                if (cell.RowIndex < 0)
                {
                    return;
                }

                var current = data.Data[cell.RowIndex];
                UserRolesAddEditForm form = new UserRolesAddEditForm();
                form.EditMode = Enums.EditFormMode.Edit;
                form.UserRole = current;
                var dr = form.ShowDialog(this);
                //form.FormClosed += (ss, ee) => { Helpers.VirtualGridDataHelper.InitalLoad<Models.UserRole>(data, syncContext); };
                if (dr == DialogResult.OK)
                {
                    this.vgUserRoles.BeginUpdate();
                    data.Data[cell.RowIndex] = form.UserRole;
                    this.vgUserRoles.EndUpdate();
                    this.vgUserRoles.SelectCell(cell.RowIndex, cell.ColumnIndex);
                }
            };


            this.btnReLoad.Click += (s, e) => {
                Helpers.VirtualGridDataHelper.InitalLoad <Models.AppRole>(data);
            };

            this.btnAdd.Click += (s, e) => {
                UserRolesAddEditForm form = new UserRolesAddEditForm();
                //form.StartPosition = FormStartPosition.WindowsDefaultLocation;
                form.EditMode = Enums.EditFormMode.Add;
                var dr = form.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    this.vgUserRoles.BeginUpdate();
                    this.data.Data.Insert(0, form.UserRole);
                    this.vgUserRoles.RowCount++;
                    this.vgUserRoles.EndUpdate();
                    this.vgUserRoles.SelectCell(0, 0);
                }
            };

            this.btnDelete.Click += (s, e) => { DeleteEntry(); };

            Helpers.VirtualGridDataHelper.InitalLoad <Models.AppRole>(data);

            //设置Column宽度 命令列,使用ID列做为命令列
            //this.vgUserRoles.TableElement.ColumnsViewState.SetItemSize(0, 30);

            //this.vgUserRoles.ColumnWidthChanging += (s, e) => {
            //    //ID列为命令按钮,固定大小,不允许resize
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(UserRole)), "ID");
            //    if (e.ColumnIndex == idIndex)
            //    {
            //        e.Cancel = true;
            //    }
            //};

            //this.vgUserRoles.CreateCellElement += (s, e) => {
            //    //ID列约定为命令按钮
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(UserRole)), "ID");
            //    if (e.RowIndex >= 0 && e.ColumnIndex == idIndex)
            //    {
            //        var cmd = new Helpers.VirtualGridEditCommandCellElement();
            //        cmd.EditButtonClicked += (ss, ee) => {
            //            var id = (int)cmd.Value;
            //            var entity =  data.Data.FirstOrDefault(x => x.ID == id);
            //            if (entity!=null)
            //            {
            //                UserRolesAddEditForm form = new UserRolesAddEditForm();
            //                form.EditMode = Enums.EditFormMode.Edit;
            //                form.UserRole = entity;
            //                var dr = form.ShowDialog(this);
            //                if (dr == DialogResult.OK)
            //                {
            //                    Helpers.VirtualGridDataHelper.InitalLoad<Models.UserRole>(data, System.Threading.SynchronizationContext.Current);
            //                }
            //            }
            //        };
            //        cmd.DeleteButtonClicked += (ss, ee) => { };
            //        e.CellElement = cmd;
            //    }

            //};
            //this.vgUserRoles.CellFormatting += (s, e) => {
            //    //ID列约定为命令按钮
            //    int idIndex = Array.IndexOf(ModelHelper.GetColumnNames(typeof(UserRole)), "ID");
            //    if (e.CellElement.RowIndex == -3 && e.CellElement.ColumnIndex == idIndex)
            //    {
            //        e.CellElement.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
            //    }
            //    if (e.CellElement.RowIndex == -1 && e.CellElement.ColumnIndex == idIndex)
            //    {
            //        e.CellElement.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
            //    }
            //};
        }