Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Отметка записей / 7 сообщений из 7, страница 1 из 1
28.06.2004, 10:33:01
    #32579091
SergBSI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
Вопрос заключается в следующем Для того чтобы юзер мог отмечать необходимые записи создал поле boolean (через домен ) но возникает проблема когда два юзера одновременно отм. записи (отм. ведь преходится сохранять) и получается что в выборку попадают ВСЕ отм.записи обоими юзерами (нужно естественно для каждого свои) Как из этого положения выйти?
Либо как в другой DataSet скопировать отм.записи и как это второй DataSet должен создаваться
...
Рейтинг: 0 / 0
28.06.2004, 10:40:05
    #32579102
Лентяй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
Сначала надо определиться, где эти записи "отмечать" надо. Если на клиенте - то в dataset (не в базе, а только в dataset) завести доп. поле. Если же на сервере - то доп. табличку в которой будет имя пользователя + PK отмеченных записей. Ну и подчищать их вовремя...
Удачи.
...
Рейтинг: 0 / 0
28.06.2004, 10:58:55
    #32579126
SergBSI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
ЛентяйЕсли на клиенте - то в dataset (не в базе, а только в dataset) завести доп. поле.
Для особо одаренных нельзя ли по подробнее Пробывал завести поле но оно получается не активным те поле есть но невозможно изменить его значение
...
Рейтинг: 0 / 0
28.06.2004, 11:32:11
    #32579182
Лентяй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
SergBSI
Для особо одаренных нельзя ли по подробнее Пробывал завести поле но оно получается не активным те поле есть но невозможно изменить его значение


Я компонентами InfoPower пользуюсь. Там calc-field менять можно. Во, еще один способ забыл, хотя сам часто пользуюсь:
Создаю класс от TList, который хранит в себе PK отобранных записей. В нем есть метод Ceck(Id : integer), который смотрит есть ли переданный Id в TList. Если нет - то он туда добавляется, иначе - удаляется. И есть функция Checked(Id : integer), которая возвращает true если Id присутствует в списке.

Удачи.
...
Рейтинг: 0 / 0
28.06.2004, 11:40:25
    #32579202
SergBSI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
Спасибо за идею и не сочти за борзость но можно кусочек кода лучше один раз увидеть
...
Рейтинг: 0 / 0
28.06.2004, 12:05:29
    #32579271
Лентяй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
Да чего там смотреть-то?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
type TSelection = class(TList)
public
  procedure Check(const Id : Integer);
  function Checked(const Id : Integer) : boolean;
  function Find(const Id : Integer) : Integer;
  destructor Destroy; override;
  procedure ClearAll;
end;

procedure TSelection.Check(const Id: Integer);
var i : integer;
    Pt : PtInt;
begin
  i := Find(Id);
  if i = - 1  then begin
    New(Pt);
    Pt^ := Id;
    Add(Pt);
  end
  else begin
    Dispose(Items[i]);
    Delete(i);
  end;
end;

procedure TSelection.ClearAll;
var i : integer;
begin
  for i :=  0  to Pred(Count) do
    Dispose(Items[i]);
  Clear;
end;

destructor TSelection.Destroy;
var i : integer;
begin
  for i :=  0  to Pred(Count) do
    Dispose(Items[i]);
  inherited;
end;

function TSelection.Find(const Id: Integer): Integer;
var i : integer;
begin
  Result := - 1 ;
  i :=  0 ;
  while (i < Count) and (PtInt(Items[i])^ <> Id) do
    Inc(i);
  if i < Count then
    Result := i;
end;

function TSelection.Checked(const Id: Integer): boolean;
begin
  Result := Find(Id) <> - 1 ;
end;



Удачи.
...
Рейтинг: 0 / 0
28.06.2004, 12:12:21
    #32579283
SergBSI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отметка записей
Ограмадное спасибо сэкономил кучу времени!!!!
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Отметка записей / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]