Delphi

Stringgrid delphi: Описание компонента Delphi StringGrid

Сортировка StringGrid

Поиск

С октября 2016 г. Embarcadero предлагает бесплатную версию Дельфы (Дельфы 10.1 Берлинская версия для начинающих). Там есть несколько ограничений, но это долгожданный шаг к тому, чтобы сделать больше программистов знают о прелестях Delphi. Они говорят «Предложение может быть отозвано в любое время», так что не откладывайте, если хотите чтобы проверить это. Пожалуйста, используйте ссылка для обратной связи я знаю, если ссылка перестанет работать.

 

Поддержка DFF — Магазин

  используя эту ссылку.

Мы получаем несколько центов с каждого покупка. Спасибо

 


Поддержка DFF — пожертвование

  Если вы пользуетесь веб-сайтом, знания, развлекательная ценность или что-то еще полезное, рассмотрите возможность сделать пожертвование через PayPal , чтобы помочь погасить расходы.

(Для пожертвования через кредит не требуется учетная запись PayPal. карты.) Транзакция безопасна.

Менса Daily Puzzlers

Более 15 лет Календари Mensa Page-A-Day предоставляют несколько головоломок в год. для моего удовольствия от программирования. Кодировать «решатели» очень весело, но многие программы также позволяют пользователю решать, удобно для «заполнить в пробелах». Ниже приведены ссылки Amazon на два последних года.

Менса Календарь 365 Puzzlers на 2017 год

Менса Календарь 365 Puzzlers 2018

(Подсказка: если сможете подождите, календари на текущий год обычно продаются в январе.)

Контакт

Обратная связь: Отправить электронная почта с вашими комментариями об этой программе (или что-нибудь еще).

 

 

 

Вот небольшая программа, которая поможет вам начать сортировку сетки строк ( TStringGrid ) по данным в выбранном столбце.

Я хотел сделать верхнюю строку сетки фиксированной строкой и сохранить ее во время сортировки (т.е. оставить его в верхней строке, независимо от его значений). оказывается что ни Выходы события OnClick или OnCellSelect инициируются щелкает ячейку в фиксированной строке или столбце. Поэтому я использовал OnMouseUp . exit, чтобы инициировать вызов процедуры SortGrid . Струнная сетка имя и столбец для сортировки передаются как параметры.

Сама сортировка почти тривиальна. Для каждой прокручиваемой строки i , проверить выбранные значения столбца на наличие всех более высоких номеров строк. Если найдено меньшее значение, поменяйте его местами со строкой

и . Немного сложно часть заключалась в том, как поменять местами две строки, когда это необходимо. TCustomGrid есть Предок TStringGrid и содержит метод MoveRow . Но TStringGrid не объявляет его, поэтому мы не можем его использовать. Мы может определить новый класс или компонент, который включает MoveRow , но это уменьшает его универсальность. Поэтому я просто реализовал свой собственный код, используя временный TStringList и Назначить метод для замены 2 строк когда необходимо.

Сортировку можно сделать более гибкой, передав SortGrid a «Column поле type» для идентификации строки, целого числа, значения с плавающей запятой или даты типы. SortGrid

затем преобразует и сравнивает строку сетки значения в зависимости от типа столбца. Пока я просто форматирую числовое столбцы с начальными пробелами для сохранения алфавитного порядка сортировки и обработки все как струны.

Приложение от 8 августа 2006 г.:   Сегодня небольшое изменение в Подпрограмма OnMouseUp позволяет правильно распознавать столбцы переменной ширины.

Я также должен упомянуть, что теперь Демонстрационная программа GridQuickSort, которая позволяет тип данных, как предложено выше, и использует алгоритм быстрой сортировки для многих более быстрая сортировка больших сеток.

Щелкните здесь, чтобы загрузить пример программы GridSort.

  

 

TStringGrid

TStringGrid — специализированная сетка для отображения строк (текстового материала) в матрице столбцов и строк

тип TStringGrid

защищенный

  классовая процедура WSRegisterClass; переопределить;

  

Регистрирует этот класс компонентов в текущем WidgetSet.

общественный

  свойство Изменено: логическое значение;

  

Независимо от того, была ли текущая ячейка изменена

  свойство InplaceEditor: TWinControl;

опубликовано

 свойство Align: TAlign;

  

Задает размещение элемента управления внутри его родительского элемента.

  свойство AlternateColor: TColor;

  

Цвет, который будет использоваться для фона в чередующихся рядах сетки. Наличие чередующихся строк разного цвета может облегчить чтение сетки.

  свойство Anchors: TAnchors;

  

Набор определений привязки для этого элемента управления.

  свойство AutoAdvance: TAutoAdvance;

  

Автоматически перемещаться вниз по сетке при последовательных щелчках мыши или нажатии клавиши ENTER или TAB

  свойство AutoEdit: Boolean;

  

Автоматический вход в режим редактирования при выборе ячейки

  свойство AutoFillColumns: Boolean;

  

Автоматически изменять размер столбцов, чтобы они заполняли всю видимую область сетки

  свойство BiDiMode: TBiDiMode;

  свойство BorderSpacing: TControlBorderSpacing;

  

Определяет расстояние между внутренней и внешней границей для этого элемента управления.

  свойство BorderStyle: TBorderStyle;

  

Позволяет отображать границу (линию) вокруг элемента управления,

  свойство CellHintPriority: TCellHintPriority;

  свойство Color: TColor;

  

Цвет фона элемента управления.

  свойство ColCount: Integer;

  

Количество столбцов сетки.

  свойство ColumnClickSorts: Boolean;

  Свойство Столбцы: TGridColumns;

  

Свойства столбцов в этой сетке

  свойство Ограничения: TSizeConstraints;

  свойство DefaultColWidth: Integer;

  

Значение по умолчанию для ширины вновь создаваемых столбцов сетки.

  свойство DefaultDrawing: Boolean;

  

Будет ли использоваться метод рисования по умолчанию для этой сетки? По умолчанию ИСТИНА

  свойство DefaultRowHeight: Integer;

  

Значение по умолчанию для высоты вновь создаваемых строк сетки.

  свойство DoubleBuffered: логическое значение;

 свойство DragCursor: TCursor;

  

Форма курсора, отображаемая при перетаскивании элемента управления.

  свойство DragKind: TDragKind;

  

Операция при перетаскивании элемента управления — Drag or Dock.

  свойство DragMode: TDragMode;

  

Позволяет пользователю перетаскивать элемент управления.

  свойство Включено: логическое значение;

  

Определяет, реагирует ли элемент управления на ввод с помощью мыши или клавиатуры.

  свойство ExtendedSelect: Boolean;

  

ExtendedSelect — возможность выделения ячеек за границу видимой части сетки

  свойство FixedColor: TColor;

  

Цвет фиксированных ячеек сетки.

  свойство FixedCols: Integer;

  

Количество фиксированных столбцов сетки (т. е. столбцов, содержащих материал заголовка или идентификатора, которые не прокручиваются при перемещении остальной части сетки).

  свойство FixedRows: Integer;

  

Количество фиксированных строк сетки (т.

е. строк, содержащих материал заголовка или идентификатора, которые не прокручиваются при перемещении остальной части сетки).

  свойство Flat: Boolean;

  

Отображаемая ячейка Плоская , т.е. без текстурирования или эффекта приподнятости/опускания

свойство Font: TFont;

  

  свойство GridLineWidth: Integer;

  

Ширина (толщина) линий сетки

  свойство HeaderHotZones: TGridZoneSet;

  

HeaderHotZones — зоны заголовков, соответствующие положению курсора мыши

  свойство HeaderPushZones: TGridZoneSet;

  

HeaderPushZones — зоны заголовка, которые были сдвинуты вниз (выбраны)

  свойство ImageIndexSortAsc: TImageIndex;

  свойство ImageIndexSortDesc: TImageIndex;

  свойство MouseWheelOption: TMouseWheelOption;

  Параметры свойства: TGridOptions;

  

Варианты, доступные для использования в этой сетке

  свойство Options2: TGridOptions2;

  свойство ParentBiDiMode: Boolean;

  свойство ParentColor: Boolean;

  

Если true, цвет элемента управления будет таким же, как цвет родительского элемента. Значение по умолчанию верно.

  свойство ParentDoubleBuffered: Boolean;

  свойство ParentFont: Boolean;

  свойство ParentShowHint: логическое значение;

  

Если true, значение ShowHint для элемента управления будет таким же, как и для родительского элемента. Значение по умолчанию верно.

  свойство PopupMenu: TPopupMenu;

  

Контекстное меню, которое появляется при щелчке правой кнопкой мыши по этому элементу управления

 свойство RangeSelectMode: TRangeSelectMode;

  свойство RowCount: Integer;

  

Количество строк в сетке

  свойство ScrollBars: TScrollStyle;

  

Полосы прокрутки для использования с этой сеткой

  свойство ShowHint: логическое значение;

  

Включает отображение подсказок.

  свойство TabAdvance: TAutoAdvance;

  свойство TabOrder: TTabOrder;

  

Определяет последовательность элементов управления, доступных, когда пользователь нажимает клавишу Tab.

  свойство TabStop: Boolean;

  

Позволяет пользователю перейти к этому элементу управления, нажав клавишу Tab.

  свойство TitleFont: TFont;

  

Шрифт для заголовка сетки

  свойство TitleImageList: TImageList;

  

TitleImageList — список изображений, которые будут использоваться с заголовками

  свойство TitleStyle: TTitleStyle;

  

Стиль заголовка сетки

  свойство UseXORFeatures: Boolean;

  

UseXORFeatures : если установлено значение True, точечный прямоугольник фокуса рисуется с использованием растровой операции XOR

  свойство Видимое: логическое значение;

  

Позволяет показать или скрыть элемент управления и все его дочерние элементы.

  свойство VisibleColCount: Integer;

  

Количество видимых столбцов

  свойство VisibleRowCount: Integer;

  

Количество видимых строк

  свойство OnAfterSelection: TOnSelectEvent;

  свойство OnBeforeSelection: TOnSelectEvent;

  

OnBeforeSelection — обработчик событий для использования перед выбором

  свойство OnCellProcess: TCellProcessEvent;

  свойство OnChangeBounds: TNotifyEvent;

  

Обработчик события изменения границ элемента управления.

  свойство OnCheckboxToggled: TToggledCheckboxEvent;

  свойство OnClick: TNotifyEvent;

  

Обработчик уведомлений о щелчках мыши.

  свойство OnColRowDeleted: TGridOperationEvent;

  

Обработчик событий при удалении столбца или строки сетки

  свойство OnColRowExchanged: TGridOperationEvent;

  

Обработчик событий, когда положение столбца или строки сетки заменяется другим

  свойство OnColRowInserted: TGridOperationEvent;

  

Обработчик событий при вставке столбца или строки в сетку

  свойство OnColRowMoved: TGridOperationEvent;

  

Обработчик событий при перемещении столбца или строки сетки

  свойство OnCompareCells: TOnCompareCells;

  

Обработчик событий для сравнения содержимого ячеек

  свойство OnContextPopup: TContextPopupEvent;

  

Вызывается при запросе контекстно-зависимого всплывающего меню.

  свойство OnDragDrop: TDragDropEvent;

  

Этот обработчик определяет действие при перетаскивании на этот элемент управления в операции перетаскивания.

  свойство OnDragOver: TDragOverEvent;

  

Обработчик событий для элемента управления, перетаскиваемого на этот элемент управления.

  свойство OnDblClick: TNotifyEvent;

  

Обработчик событий для двойных щелчков мыши.

  свойство OnDrawCell: TOnDrawCell;

  

Обработчик событий для рисования ячейки

  свойство OnEditButtonClick: TNotifyEvent; устарело;

  

Обработчик событий при нажатии кнопки «Изменить»

  свойство OnButtonClick: TOnSelectEvent;

  свойство OnEditingDone: TNotifyEvent;

  

Обработчик событий при завершении редактирования.

  свойство OnEndDock: TEndDragEvent;

  

Обработчик уведомлений об окончании операции стыковки.

  свойство OnEndDrag: TEndDragEvent;

  

Обработчик уведомлений об окончании операции перетаскивания.

  свойство OnEnter: TNotifyEvent;

  

Обработчик для управления получением фокуса.

  свойство OnExit: TNotifyEvent;

  

Обработчик контроля потери фокуса. Это хорошее место для проверки окончательного пользовательского ввода.

  свойство OnGetCellHint: TGetCellHintEvent;

  

Получить индивидуальную подсказку для каждой ячейки

  свойство OnGetCheckboxState: TGetCheckboxStateEvent;

  свойство OnGetEditMask: TGetEditEvent;

  

Обработчик событий для поиска маски редактирования при редактировании ячейки сетки

  свойство OnGetEditText: TGetEditEvent;

  

Обработчик событий для поиска редактируемого текста в ячейке сетки

  свойство OnHeaderClick: THdrEvent;

  

Обработчик событий при щелчке заголовка столбца или строки

  свойство OnHeaderSized: THdrEvent;

  

Обработчик событий при изменении размера заголовка столбца или строки

  свойство OnHeaderSizing: THeaderSizingEvent;

  свойство OnKeyDown: TKeyEvent;

  

Обработчик нажатой клавиши клавиатуры.

  свойство OnKeyPress: TKeyPressEvent;

  

Обработчик символа, введенного пользователем.

  свойство OnKeyUp: TKeyEvent;

  

Обработчик клавиш клавиатуры освобожден.

  свойство OnMouseDown: TMouseEvent;

  

Обработчик события нажатия кнопки мыши.

  свойство OnMouseEnter: TNotifyEvent;

  свойство OnMouseLeave: TNotifyEvent;

  свойство OnMouseMove: TMouseMoveEvent;

  

Обработчик событий движения мыши внутри элемента управления.

  свойство OnMouseUp: TMouseEvent;

  

Обработчик события нажатия кнопки мыши.

  свойство OnMouseWheel: TMouseWheelEvent;

  свойство OnMouseWheelDown: TMouseWheelUpDownEvent;

  

Обработчик уведомлений о движении колесика мыши вниз.

  свойство OnMouseWheelUp: TMouseWheelUpDownEvent;

  

Обработчик уведомлений о движении колесика мыши вверх.

  свойство OnMouseWheelHorz: TMouseWheelEvent;

  свойство OnMouseWheelLeft: TMouseWheelUpDownEvent;

  свойство OnMouseWheelRight: TMouseWheelUpDownEvent;

  свойство OnPickListSelect: TNotifyEvent;

  

Обработчик событий для выбора элемента из раскрывающегося списка (например, раскрывающийся список в TComboBox )

  свойство OnPrepareCanvas: TOnPrepareCanvasEvent;

  

Обработчик событий для подготовки Canvas для чертежа

  свойство OnResize: TNotifyEvent;

  

Обработчик уведомлений об изменении размера элемента управления.

  свойство OnSelectEditor: TSelectEditorEvent;

  

Обработчик событий для выбора редактора

  свойство OnSelection: TOnSelectEvent;

  

Обработчик событий при выборе области сетки (одной или группы ячеек)

  свойство OnSelectCell: TOnSelectCellEvent;

  

Обработчик событий при выборе ячейки сетки

  свойство OnSetCheckboxState: TSetCheckboxStateEvent;

  свойство OnSetEditText: TSetEditEvent;

  

Обработчик событий для сохранения отредактированного текста в ячейке

  свойство OnShowHint: TControlShowHintEvent;

  

Обработчик событий, когда должна быть показана подсказка.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *