Конференция "Базы" » ODAC/ запомнить и восстановить текущее положение в dataset [D7]
 
  • MsGuns © (24.03.10 19:22) [20]
    К комментариям-"отмазкам" Медвежонка:

    Если НД РЕДАКТИРУЕТСЯ, то, надо полагать, редактируется ОДНА таблица, а не несколько (иначе - "старуха с клюкой" (с))
    А если таблица ОДНА, то и с идентификаторм проблем быть не должно.
  • Медвежонок Пятачок © (24.03.10 20:15) [21]
    А что, собсна, она ДОЛЖНА знать ?

    Да ничего.
    Есть TDataSet
    Нужно закрыть его и открыть. После чего восстановить текущую запись которая была перед закрытием
  • Игорь Шевченко © (24.03.10 20:44) [22]

    > После чего восстановить текущую запись которая была перед
    > закрытием


    В общем случае невозможно. Ее могут удалить
  • MsGuns © (24.03.10 20:58) [23]
    >Медвежонок Пятачок ©   (24.03.10 20:15) [21]
    >После чего восстановить текущую запись которая была перед закрытием

    Е-е-ето как ето ?
  • Медвежонок Пятачок © (24.03.10 21:14) [24]
    В общем случае невозможно. Ее могут удалить

    Ядерного взрыва не произойдет.
    Либо букмарквалид будет false, либо датасет отпозиционируется не совсем туда куда хотелось бы.
    Так как сама фича из области бантиков и рюшечек, на приложение это никак не повлияет. Ткнет юзер мышкой куда ему надо если курсор не там где он ожидает. И все.
  • Медвежонок Пятачок © (24.03.10 21:15) [25]
    Е-е-ето как ето ?

    Это встать курсором на ту же запись, на которой стоял курсор перед рефрешем датасета.
  • Игорь Шевченко © (24.03.10 21:22) [26]
    Медвежонок Пятачок ©   (24.03.10 21:14) [24]


    > Ядерного взрыва не произойдет.


    Не произойдет.


    > Либо букмарквалид будет false


    А откуда оно узнает, false ему надо становиться или не false ?


    > Ткнет юзер мышкой куда ему надо если курсор не там где он
    > ожидает. И все.


    Мы из этих соображений не позиционируемся на последнюю запись, где оно стояло. Обновляет пользователь, так обновляет, сам, его никто не заставляет, поэтому попадает на начало Dataset-а.
  • Медвежонок Пятачок © (24.03.10 21:34) [27]
    А откуда оно узнает, false ему надо становиться или не false ?

    узнает через метод датасета.

    Честно говоря вообще не догоняю из чего весь сыр бор.
    Я этот метод применял на всем от парадокса до оракла и от бдешных tquery до одаковских ораквери.

    Везде это работало. Везде.

    Если я и не применял эту фичу, то не потому что не работало, а потому что либо это было ненужно, либо излишне напрягало сервер.
  • MsGuns © (24.03.10 22:58) [28]
    Сыр-бор оттого, что при редактировании в гриде нехило б было сделать юзеру банально приятно,- чтоб он после завершения редактирования (вставки, удаления) записи не терял то место, где он редактировал. Желание, кстати, вполне понятное, вопреки мнению некоторых тут. В самом деле, представьте, что после вставки в исходник новой строки вас перебрасывали бы в начало кода :)

    Твой метод работает в случае, если таблица на все время редактирования не изменяется более никем

    Закладываться на метод, работающий только "по погоде" - это подставить юзера. Причем, как обычно, "глюк" вылезет в самый неподходящий момент.
    Не проще ли сразу делать правильно и надежно, не полагаясь на пресловутое "я так всегда делал - и ничего" ?
  • Медвежонок Пятачок © (25.03.10 01:27) [29]
    правильно и надежно - это кто вообще определил?
    редактируем запись.
    меняем значения полей.
    в том числе возможно и ключевых.
    и чем локейт в этом случае правильнее букмарка?
  • Anatoly Podgoretsky © (25.03.10 05:21) [30]
    > Медвежонок Пятачок  (24.03.2010 21:14:24)  [24]

    После позиционирования куда не надо, произойдет редактирование чего не надо.
  • Anatoly Podgoretsky © (25.03.10 05:23) [31]
    > Медвежонок Пятачок  (25.03.2010 01:27:29)  [29]

    Тем что правильно работает.
  • Медвежонок Пятачок © (25.03.10 09:19) [32]
    ну да, правильно.
    локейт вернул файлсе потому что юзер отредактировал праймари кей и это правильно.
  • MsGuns © (25.03.10 09:53) [33]
    >Медвежонок Пятачок ©   (25.03.10 09:19) [32]
    >локейт вернул файлсе потому что юзер отредактировал праймари кей и это правильно.

    Если редактируется праймари, то это и есть "старуха с клюкой".
    Использование UID поможет предводителю дворянства
  • Медвежонок Пятачок © (25.03.10 10:06) [34]
    то есть естественные праймари кей не имеют права на существование?
  • MsGuns © (25.03.10 10:35) [35]
    Я бы не смешивал понятие "праймари" (первичный) и "нативный" (естественный, сущностный)
  • Медвежонок Пятачок © (25.03.10 11:02) [36]
    и я не смешиваю.
    праймари кей может редактироваться.
    особенно если он естественный а не искусственный
  • Правильный$Вася (25.03.10 13:03) [37]

    > праймари кей может редактироваться.

    может, конечно
    но не пользователем

    и нахрен не нужен натуральный первичный ключ из 2 десятков полей

    короче, проще 10 лет облеплять кизяком стену, чтоб не упала, чем за месяц построить новую, так?
  • Игорь Шевченко © (25.03.10 14:01) [38]

    > и нахрен не нужен натуральный первичный ключ из 2 десятков
    > полей


    почему это ?
  • MsGuns © (25.03.10 14:34) [39]
    Можно, конечно, использовать в качестве первичного нативные реквизиты.
    На простых структурах. Но в "этажерках" такая технология приводит к многочисленным проблемам, связанным с необходимостью после изменения ключа в мастере править в дочерних таблицах поля-связки.
    Или я не верно понимаю политику партии и правительства ?
 
Конференция "Базы" » ODAC/ запомнить и восстановить текущее положение в dataset [D7]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]