Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизНавигатор и позиция в наборе данных. Найти похожие ветки
← →
Карелин Артем © (2004-03-10 12:29) [0]Навигатором не пользовался, поэтому извиняйте. Есть к примеру набор данных. Переходим на конец без помощи навигатора - кнопка Next становится недоступной только после того, как с этой последней позиции перейти на следующую навигатором. Та же история получается и на первой позиции.
Как лечить поведение навигатора на первой и последней позиции?
← →
Соловьев © (2004-03-10 12:31) [1]ActionList+Button - свой навигатор. Более удобный и понятный.
← →
Reindeer Moss Eater © (2004-03-10 12:33) [2]Странный вопрос после http://delphimaster.net/view/15-1078898920/
Как лечить? Разумеется уведомлением навигатора о событиях скрола датасета
← →
stone © (2004-03-10 12:33) [3]Кнопки навигатора становятся недоступны в момент EOF/BOF. Первая и последняя запись набора данных это еще не EOF/BOF.
← →
VLAD-MAL (2004-03-10 12:41) [4]Как лечить поведение навигатора на первой и последней позиции?
Что его лечить? Посмотри код, да напиши свой. Там даже мне все ясно...
← →
Карелин Артем © (2004-03-10 13:01) [5]Ну чтож, придется писать. В момент RecNo=RecordCount после FetchAll надо будет дизеблить Next с Last, только как-то нехорошо так делать.
← →
Reindeer Moss Eater © (2004-03-10 13:13) [6]В момент RecNo=RecordCount после FetchAll надо будет дизеблить Next с Last, только как-то нехорошо так делать.
А что это даст?
А что будет если этого не делать?
А в чем смысл затеи?
← →
VLAD-MAL (2004-03-10 13:18) [7]Ну, например:
procedure Tfrb_GridFrame.ShowRecordsActions;
begin
if DataSet.State in [dsEdit, dsInsert] then begin
actUpd.Enabled := not DataSet.ReadOnly;
actUndo.Enabled := True;
actAdd.Enabled := False;
actEdit.Enabled := False;
actDel.Enabled := True;
actRefreshDataSet.Enabled := False;
end else begin
actUpd.Enabled := False;
actUndo.Enabled := False;
actAdd.Enabled := not DataSet.ReadOnly;
// Если непустой набор данных, то разрешаем удаление, изменение
if DataSet.RecordCount > 0 then begin
actEdit.Enabled := True;
actDel.Enabled := not DataSet.ReadOnly;
end else
actDel.Enabled := False;
actRefreshDataSet.Enabled := True;
end;
Вызывай эту лабуду на DataSource.OnDataChange / OnStateChange, а также после изменения режима доступа к набору данных (ну, например, когда запрещаешь/разрешаешь изменения в наборе данных - типа DBGridEh1.ReadOnly := True или DataSource.AllowedUpdateKinds := [] (FIB+)/ DBGridEh1.ReadOnly := False; DataSource.AllowedUpdateKinds := [ukModify, ukInsert, ukDelete];
)
← →
Johnmen © (2004-03-10 13:20) [8]>Карелин Артем ©
Next;
NextButton.Enabled:=not EOF;
if not EOF then Prior;
← →
VLAD-MAL (2004-03-10 13:24) [9]Ну да, про Next/Prior/Last/Firs забыл написать... Сам не использую их, считаю, юзер в гриде сам пусть барахтается. Несколько кнопок в тулбар, + грид (DBGridEh), все - во фрейм - и вперед!.
← →
Карелин Артем © (2004-03-10 13:24) [10]Reindeer Moss Eater © (10.03.04 13:13) [6]
Сотвори стандартный грид, навигатор, набор данных и источник данных. Открой набор данных. Стоя на первой позиции нажми вперед, потом назад. Кнопка Prev доступна. Можно еще раз нажать назад стоя на первой записи. Только после этого она станет недоступна. То же самое и с последней записью.
Волнуются люди когда стоя на последней записи можно листнуть дальше. Особенно когда навигатор видно, а сетку нет. Задумаются о своем и ошибок наделают.
← →
Reindeer Moss Eater © (2004-03-10 13:36) [11]Задумаются о своем и ошибок наделают.
Не понял.
Они что, смогут уйти за пределы датасета только потому что чья-то там кнопка не задисэблена?
Бред.
← →
Карелин Артем © (2004-03-10 13:40) [12]Reindeer Moss Eater © (10.03.04 13:36) [11]
Зри в корень: если можно нажать на Next, значит что-то дальше есть. Они думают что перешли на другую запись, хотя она осталась та же.
Тема закрыта.
← →
Reindeer Moss Eater © (2004-03-10 13:53) [13]Вот именно - в корень, а не в небо.
Что такого произойдет, если юзер нажмет на доступную кнопку Next (стоя на последней записи) чего не произошло бы если бы кнопка была недоступна?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.057 c