Форум: "Начинающим";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
ВнизПозиционирование на записи в cxGrid Найти похожие ветки
← →
Гость (2009-04-30 13:16) [0]
with ProductsGridView1.DataController do
begin
// Добавляю новую запись.
RecordCount := RecordCount + 1;
SetValue(RecordCount-1,1,Bcode);
SetValue(RecordCount-1,2,Desc);
SetValue(RecordCount-1,3,GridPosition);
SetValue(RecordCount-1,4,Id);
// Хочу позиционироваться на ней
FocusedRecordIndex := RecordCount - 1; // Единица на рез-т не влияет.
//ProductsGridView1.ViewData.Records[RecordCount - 1].Selected := True;
end;
В рез-те кода выделенной становиться не добавленная запись, а предыдущая. На закоментированной строке так просто вываливается ошибка.
Подскажите, где я что делаю не так?
← →
Palladin © (2009-04-30 13:48) [1]Пока правительство Российской Федерации не рассекретит данные об ошибке она будет жить.
← →
Гость (2009-04-30 14:18) [2]Дело не в ошибке, а в том, что курсорчик позиционируется не на последней только что добавленной записи, а на предпоследней!!
Ошибка, если угодно:
Project Project1.exe raised exception class EListError with message "List index out of bounds (0)".
и причины мне ее не совсем понятны, одну то запись я перед ней добавляю.
← →
clickmaker © (2009-04-30 17:50) [3]> ProductsGridView1.ViewData.Records
у этого count есть? чему равен?
← →
Кролик-Фролик (2009-05-01 00:47) [4]а всё от того, что скорее бы попользовать ворованные компоненты, абсолютно не понимая базовых основ
← →
Германн © (2009-05-01 01:24) [5]
> Кролик-Фролик (01.05.09 00:47) [4]
"Ворованность" тут не при чём. Имхо. Как, в прочем, и "базовые основы".
Просто не любит народ читать документацию и справку.
P.S. Я сей компонент не знаю. говорю только исходя из жизненного опыта.
← →
sniknik © (2009-05-01 01:32) [6]> P.S. Я сей компонент не знаю. говорю только исходя из жизненного опыта.
аналогично не знаю, но опыт подсказывает, что добавленная запись сама становится текущей, без всяких манипуляций. как и во всех подобных компонентах. а если не становится... то виноваты вот эти самые манипуляции. либо показанные либо те что "за кадром".
← →
Кролик-Фролик (2009-05-01 01:40) [7]
> Германн © (01.05.09 01:24) [5]
у вас есть подозрения, что грид от ДивЕкспресс принципиально отличен от других?
или вы вы считаете, что достаточно скачать (своровать) и всё само собой наладится?
← →
Гость (2009-05-04 08:21) [8]
> Кролик-Фролик
А вы считаете, что достаточно купить и все заработает??
> sniknik ©
К сожалению, добавленная запись на становиться активной. И более того, сам грид не активен, если программно установить на него фокус, то как раз предпоследняя запись и будет активной.
а исходя из хелпа достаточно вот этой строкиFocusedRecordIndex := RecordCount - 1;
для позиционирования.
← →
sniknik © (2009-05-04 09:46) [9]> А вы считаете, что достаточно купить и все заработает??
не обязательно, но... при покупке обычно дают исходники, т.е. можно будет править самому если что. + при покупке становится доступной поддержка куда можно будет обратится с вопросом "что за нафиг?" и тебя ответят...
> И более того, сам грид не активен
а разве должен быть? активность определяется пользователем, при выборе/переходе между компонентами, ну или программистом, когда он делает этот выбор за него. ну во всяком случае у обычных так.
> а исходя из хелпа достаточно вот этой строки
> FocusedRecordIndex := RecordCount - 1;
> для позиционирования.
индексируются записи с 0? что будете если здесь убрать 1-цу? что будет если устанавливать 1-ю, 2-ю... записи? в гриде есть "футер"? типа с суммированными результатами который как бы не считается записью списка, но отображается (обычно) как раз последним.
а вообще по логике нестандартного компонента нужно обращаться к его автору. ну и к мануалу сначала.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c