예제 #1
0
        public void UpdateContents(bool columnsChanged = false)
        {
            if (fListMan == null)
            {
                return;
            }

            try
            {
                if (fListMan.ColumnsHaveBeenChanged != columnsChanged && columnsChanged)
                {
                    fListMan.ColumnsHaveBeenChanged = columnsChanged;
                }

                object tempRec = GetSelectedData();

                BeginUpdate();
                try
                {
                    if (columnsChanged || Columns.Count == 0 || fListMan.ColumnsHaveBeenChanged)
                    {
                        Columns.Clear();
                        fListMan.UpdateColumns(this);
                    }

                    fListMan.UpdateContents();
                    SortContents(false);
                    VirtualListSize = fListMan.FilteredCount;

                    #if __MonoCS__
                    if (fListMan.FilteredCount != 0)
                    {
                        TopItem = Items[0];
                    }
                    #endif

                    ResizeColumns();
                }
                finally
                {
                    EndUpdate();
                }

                if (tempRec != null)
                {
                    SelectItem(tempRec);
                }
            }
            catch (Exception ex)
            {
                Logger.LogWrite("GKListView.UpdateContents(): " + ex.Message);
            }
        }
예제 #2
0
        // In Eto not exists

        /*protected override void OnColumnWidthChanged(ColumnWidthChangedEventArgs e)
         * {
         *  if (fListMan != null && fUpdateCount == 0) {
         *      fListMan.ChangeColumnWidth(e.ColumnIndex, Columns[e.ColumnIndex].Width);
         *  }
         *
         *  base.OnColumnWidthChanged(e);
         * }*/

        public void UpdateContents(bool columnsChanged = false)
        {
            if (fListMan == null)
            {
                return;
            }

            try
            {
                if (fListMan.ColumnsHaveBeenChanged != columnsChanged && columnsChanged)
                {
                    fListMan.ColumnsHaveBeenChanged = columnsChanged;
                }

                object tempRec = GetSelectedData();

                BeginUpdate();
                try
                {
                    if (columnsChanged || Columns.Count == 0 || fListMan.ColumnsHaveBeenChanged)
                    {
                        Columns.Clear();
                        fListMan.UpdateColumns(this);
                    }

                    fListMan.UpdateContents();
                    SortContents();
                    UpdateItems();

                    ResizeColumns();
                }
                finally
                {
                    EndUpdate();
                }

                if (tempRec != null)
                {
                    SelectItem(tempRec);
                }
            }
            catch (Exception ex)
            {
                Logger.LogWrite("GKListView.UpdateContents(): " + ex.Message);
            }
        }