Свойства и методы AdvStringGrid

15.04.2011
В данной заметке я постараюсь описать свойства, события, функции и процедуры компонента AdvStringGrid из набора TMS Component Pack. Заметка постоянно обновляется. И просьба всем интересующимся - задавайте свои вопросы в комментариях, ответами на которые я буду пополнять заметку.

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

Свойства и/или Методы рассмотренные более подробно в других заметках - подчёркнуты и кликабельны.

Свойства (property)


Устанавливают цвет выделенной ячейки.
AdvStringGrid1.ActiveCellColor : TColor;

AdvStringGrid1.ActiveCellColorTo : TColor;

Настройки шрифта выделенных фиксированных ячеек.
AdvStringGrid1.ActiveCellFont : TFont;

Определяет, будет ли подсвечиваться выделенная ячейка цветом указанным в свойствах ActiveCellColor и ActiveCellColorTo
AdvStringGrid1.ActiveCellShow : Boolean;

Цвет подсветки всей строки, в которой выделена ячейка.
AdvStringGrid1.ActiveRowColor : TColor;

Включена или выключена подсветка всей строки, в которой выделена ячейка.
AdvStringGrid1.ActiveRowShow : boolean;

Включена или выключена подсветка всей строки, в которой выделена ячейка.
AdvStringGrid1.Align : boolean;

Устанавливает количество строк.
AdvStringGrid1.RowCount : integer;

Возвращает текстовое значение ячейки [c,r].
AdvStringGrid1.Cells[c: integer; r: integer] : String;

Устанавливает количество столбцов.
AdvStringGrid1.ColCount : integer;

Аналогично свойству Cells возвращает значение ячейки, но уже в типе integer. В отличии от подхода strtoint(AdvStringGrid1.Cells[c,r]) адекватно работает если ячейка равна нулю (0) и если она вообще пустая.
AdvStringGrid1.Ints[ACol: integer; ARow: integer] : integer;

Устанавливает стиль таблиц.
AdvStringGrid1.Look : TGridLook;

Выравнивание по вертикали в ячейке.
AdvStringGrid1.VAlignment : TVAlignment;


Методы


Добавляет новую строку в конец таблицы.
AdvStringGrid1.AddRow;

Добавляет новый столбец справа.
AdvStringGrid1.AddColumn;

Добавляет переключатели Radio button в ячейку.
AdvStringGrid1.AddRadio(ACol, ARow, DirRadio, IdxRadio: integer; sl: TStrings);

Очищает все ячейки таблицы.
AdvStringGrid1.ClearAll;

Очищает все ячейки в столбцах с ColIndex до ColIndex+CCount, где ColIndex - номер столбца, а CCount - количество очищаемых строк.
AdvStringGrid1.ClearCols(ColIndex: Integer; CCount:Integer);

Очищает все ячейки в строках с RowIndex до RowIndex+RCount, где RowIndex - номер строки, а RCount - количество очищаемых строк.
AdvStringGrid1.ClearRows(RowIndex: Integer; RCount: Integer);

Возвращает номер родительской строки, родительские строки образуются при группировке.
AdvStringGrid1.GetParentRow(ARow: integer):integer;

Возвращает индекс выбранного переключателя в ячейке ACol, ARow.
AdvStringGrid1.GetRadioIdx(ACol, ARow: integer; var IdxRadio: Integer): Boolean; 

Возвращает номер выбранной строки (счёт с нуля), скрытые строки не учитываются.
AdvStringGrid1.GetRowEx;

Возвращает номер выбранной строки (счёт с нуля), скрытые строки учитываются.
AdvStringGrid1.GetRealRow;

Возвращает номер выбранного столбца (счёт с нуля).
AdvStringGrid1.GetRealCol;

Проверяет, есть ли в ячейке переключатели.
AdvStringGrid1.IsRadioAcol, Arow: Integer): Boolean; 

Перемещает строку с номером FromIndex в позицию ToIndex.
AdvStringGrid1.MoveRow(FromIndex: integer; ToIndex: integer);

Перемещает столбец с номером FromIndex в позицию ToIndex.
AdvStringGrid1.MoveColumn(FromIndex: integer; ToIndex: integer);

Объединяет ячейки, где c и r номера строки столбца крайней левой ячейки участвующей в объединение. spanx - количество объединяемых ячеек по горизонтали, spany - количество объединяемых ячеек по вертикали. После объединения обращение к новой ячейке идёт по c и r.
AdvStringGrid1.MergeCells(c: integer; r: integer; spanx: integer; spany: integer);

Удаляет из выбранной ячейки переключатели Radio button.
AdvStringGrid1.RemoveRadio(ACol, ARow: Integer);

Выбирает переключатель в ячейке.
AdvStringGrid1.SetRadioIdx(ACol, ARow, IdxRadio: integer): Boolean;

У AdvStringGrid довольно большие возможности экспорта и импорта, если с обычным StringGrid при экспорте в Excel необходимо было написать свою процедуру, то тут всё сделано до нас. Ниже список всех процедур для сохранения, подробнее можно прочитать в этой заметке.
AdvStringGrid1.SaveToFile(FileName: String);

AdvStringGrid1.SaveToCSV(FileName: String);
AdvStringGrid1.SaveToASCII(FileName: String);
AdvStringGrid1.SaveToBinFile(FileName: String);
AdvStringGrid1.SaveToBinStream(Stream: TStream);
AdvStringGrid1.SaveToHTML(FileName: String; [Show: Boolean = false]);
AdvStringGrid1.SaveToHTMLString(dir: String);
AdvStringGrid1.SaveToXML(FileName: String; ListDescr: String; RecordDescr: String; FieldDescr: TString; [ExportEmptyCells: Booleam = false]);
AdvStringGrid1.SaveToFixed(FileName: String; positions: TIntList);
AdvStringGrid1.SaveToStream(Stream: TStream);
AdvStringGrid1.SaveToXLS(FileName: String; [CreateNewSheet: Boolean = true]);
AdvStringGrid1.SaveToXLSSheet(FileName: String; SheetName: String);
AdvStringGrid1.SaveToDOC(FileName: String; [CreateNewDocument: Boolean = true]);

И не менее внушительный список процедур для импорта:
AdvStringGrid1.LoadFromXML(FileName: string; [LevelToRow: Boolean = False]; [LoadFieldDescr: Boolean = True]);

AdvStringGrid1.LoadFromFile(FileName: string);
AdvStringGrid1.LoadFromBinFile(FileName: string);
AdvStringGrid1.LoadFromBinStream(Stream: TStream);
AdvStringGrid1.LoadFromCSV(FileName: string; [MaxRows: Integer = 1]);
AdvStringGrid1.LoadFromFixed(FileName: string; positions: TIntList; [DoTrim: Boolean = True]; [MasRows: Integer = -1]);
AdvStringGrid1.LoadFromStream(Stream: TStream);
AdvStringGrid1.LoadFromXLS(FileName: string);
AdvStringGrid1.LoadFromXLSSheet(FileName: string; SheetName: string);
AdvStringGrid1.LoadFromMDBTable(FileName: string; Table: string);
AdvStringGrid1.LoadFromMDBSQL(FileName: string; SQL: String);
X