08.05.2007, 12:50 | #1 |
Участник
|
Как выбрать последнюю строку в гриде?
Как сделать активной последнюю строку в гриде на форме?
|
|
08.05.2007, 12:55 | #2 |
NavAx
|
Смотря когда, если при открытии, то поставить у datasource свойство StartPosition
А если из кода, то вызвать у datasource метод last
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 08.05.2007 в 12:59. |
|
|
За это сообщение автора поблагодарили: Beast-L (1). |
08.05.2007, 13:15 | #3 |
Участник
|
Спасибо. А можно как нибудь выбрать определённую строку, тоесть не 1 и не последнюю а например 5 - ую?
|
|
08.05.2007, 13:23 | #4 |
NavAx
|
__________________
Isn't it nice when things just work? |
|
08.05.2007, 13:29 | #5 |
Участник
|
|
|
08.05.2007, 13:36 | #6 |
NavAx
|
myTable_ds.first();
for(i=1;i<=5;i++) { myTable_ds.next(); } Какой вопрос, такой ответ Это я к тому, что для базы данных и axapt-ы нет такого понятия, как 5-я строка
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 08.05.2007 в 13:38. |
|
08.05.2007, 13:42 | #7 |
Участник
|
в том то и прикол что мне нужна не 5 запись таблицы а 5 строка грида.
|
|
08.05.2007, 13:44 | #8 |
NavAx
|
А какая разница? Я поменяю сортировку или наложу фильтр и где окажется эта 5-я строка?
__________________
Isn't it nice when things just work? |
|
08.05.2007, 14:05 | #9 |
Участник
|
в общем придумал что хотел
queryExecute после super X++: lineCount = 0; while(InventJournalTableDelivery_ds.queryRun().next()) { lineCount++; if(lineCount == 2) { inventJournalTableLocal = InventJournalTableDelivery_ds.queryRun().get(tablenum(InventJournalTable)); InventJournalTableDelivery_ds.findRecord(inventJournalTableLocal); break; } } Последний раз редактировалось Beast-L; 08.05.2007 в 14:07. |
|
08.05.2007, 14:19 | #10 |
Участник
|
Точнее вот так:
X++: void selectGridLine(FormDataSource _formDataSource, int _ineNum) { int lineCountLocal; ; lineCountLocal = 0; while(_formDataSource.queryRun().next()) { lineCountLocal++; if(lineCountLocal == _ineNum - 1) { _formDataSource.findRecord(_formDataSource.queryRun().get(_formDataSource.table())); break; } } } |
|
08.05.2007, 14:32 | #11 |
NavAx
|
Раз придумал, может расскажешь, что хотел? А то мне за всю практику работы с аксой не приходилось такого делать.
__________________
Isn't it nice when things just work? |
|
09.05.2007, 18:42 | #12 |
Administrator
|
Если порядок строк в Вашей задаче имеет существенное значение, то имеет смысл ввести этот порядок и на уровне БД (то есть, не только на уровне грида). Для этой цели существет такая штука, как CounterField (свойство DataSource в форме). В качестве примера смотрите как работают заказы и документы по ним. Обратите внимание, что строки заказов в документах всегда выводятся в том же порядке, в каком они были созданы пользователем.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
11.05.2007, 15:40 | #13 |
Участник
|
|
|
11.05.2007, 16:41 | #14 |
Модератор
|
Создаешь объект QueryRun на основе form_ds.QueryRun().Query().
Перемещаешься к последней записи. Копируешь необходимый дс в буфер. Задача решена. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Открытие формы с деталями активной записи в гриде | 4 | |||
Как скрыть лишние DataSource у кнопки "Выбрать" | 14 | |||
передать строку в ActiveX | 1 | |||
Активация строк в Гриде | 20 | |||
Lookup поля в Гриде | 1 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|