В общем, появление добавленной записи (или, фактически, любой записи) в DBGrid не зависит от операций над набором данных, которые использовались для ее вставки.
На самом деле DBGrid не имеет отношения к этому вопросу, потому что он просто отображает добавленную строку в ClientDataSet в той позиции, в которой добавленная строка встречается в CDS, в соответствии с ее текущим порядком индекса.
Так, например, если CDS содержит поле целочисленного идентификатора, и его текущий индекс является этим полем идентификатора (например, потому что свойство IndexFieldNames CDS установлено на «ID»), чтобы добавленная строка отображалась в конце, все, что вам нужно сделать, это установить его значение идентификатора на что-то большее, чем любая существующая запись в CDS. Если поле имеет тип ftAutoInc
, это, конечно, произойдет автоматически.
Уве Раабе ответил на этот вопрос несколько иначе. То, что он говорит, правильно, если CDS не использует какой-либо индекс, поэтому записи отображаются в том физическом порядке, в котором они появляются в файле данных CDS. Однако полагаться на физический порядок для определения порядка отображения не обязательно хорошая идея, если порядок отображения важен. Если это так, то используйте индексированное поле (или поля) для определения порядка.
person
MartynA
schedule
27.01.2020