Началось всё с того, что решил нумеровать вновь добавленные строки:
code_35491.txt
Как видите, нумерация сразу начинается с двойки, а не с 1. Почему в Math прибавляется 2, а не 1? Потому, что единицу мы добавляем из-за того, что нужен индекс следующей строки, а вторую единицу добавляем потому, что индексация начинается с 0, а нужно отображать строки с единицы.
А проблема вся в коде:
code_35492.txt
Почему, если Control.Count=0, то устанавливаем dtNull Нужно, как и в остальных случаях, Control.Count - 1! Тогда у пустой таблицы индекс последней строки будет -1, что вполне логично (это и будет означать, что строк там нет). А то, что при приведении к integer и пустая таблица, и таблица с единственной строкой выдают индекс последней строки 0 - это точно неправильно!
Да, мне пришлось использовать св-во Count, но, думаю, компонент следует исправить. Вопрос только в том, можно ли это сделать без потери совместимости? Что скажут знатоки и те, кто имеет доступ к SVN?
------------ Дoбавленo в 22.52:
P.S. Ведь в StrList на onGetIndex возвращается именно -1, если искомая строка отсутствует, а не какие-то нулевые (пустые) данные!
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
| ||
файлы: 2 | code_35491.txt [415B] [494], code_35492.txt [144B] [308] |