Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

Срочно!!! Какая функция в TTable показывает, что ячейка выделена!   Найти похожие ветки 

 
Lans   (2003-03-05 10:34) [0]

Очень срочно надо!Определить выделенную ячейку в Table!!!
Или в DBgride!!!
Заранее огромное спасибо!!!


 
zacho ©   (2003-03-05 10:39) [1]

RTFM TDBGrid.SelectedField
А в TTable нет такого понятия, как "выделенная ячейка" :-)


 
Johnmen ©   (2003-03-05 10:40) [2]

<current record>+SelectedField


 
MsGuns ©   (2003-03-05 10:54) [3]

>zacho © (05.03.03 10:39)

А если опция грида goRowSelect ?


 
Соловьев ©   (2003-03-05 10:57) [4]

2 Lans (05.03.03 10:34)
А для чего тебе это нужно?


 
zacho ©   (2003-03-05 11:03) [5]


> А если опция грида goRowSelect ?

Возможно, поможет SelectedIndex?


 
MsGuns ©   (2003-03-05 11:09) [6]

>zacho © (05.03.03 11:03)
>Возможно, поможет SelectedIndex?

Вряд ли..
Ему однозначно поможет чтение литературы (в частности онлайновой) для ПОНИМАНИЯ того, что он делает и что хочет сделать.



 
Lans   (2003-03-05 11:19) [7]

Мне это нужно для того чтобы при нажатии на кнопку из одной таблицы скопировать в другую выделенные ячейки!!!!С одной получается, а вот когда multiselect....


 
Соловьев ©   (2003-03-05 11:24) [8]

Ячейки или строки?


 
MsGuns ©   (2003-03-05 11:29) [9]

Какую кнопку (в гриде, на форме, в выпадающем меню, на контрольной панели) ?
А вообще-то текущую запись НД, отображаемую через ЛЮБОЙ связанный контрол, искать не надо, - она всегда "под рукой"
Сочетания типа Table1.FieldByName("ID")/AsInteger - это о ней, родимой


 
zacho ©   (2003-03-05 11:29) [10]

Тогда см. SelectedRows
И определи более конкретно, что такое "скопировать в другую выделенные ячейки".
И неужели трудно почитать хелп по TDBgrid, TTable, TDataSet и т.п. ?


 
MsGuns ©   (2003-03-05 11:39) [11]

>zacho © (05.03.03 11:29)
>И неужели трудно почитать хелп по TDBgrid, TTable, TDataSet и т.п. ?

Судя по всему - не царское это дело ;)))


 
Lans   (2003-03-05 12:15) [12]

Да не трудно читал я хелпы!!! Просто написать надо срочно а с Delphi только 3 недели знаком!!Я реализовал все функции которые мне были нужны экспорт,импорт данных из Excelи т.д. Прога работает то есть из одной таблицы в др копируется,но мне надо чтобы несколько значений ячеек копировалось!Грубо говоря 2 DBGrida и button.В 1-oм DbGride выбрал несколько ячеек нажал на button они скопировались во вторую DBgrid..


 
Anatoly Podgoretsky ©   (2003-03-05 12:20) [13]

Интересно только как ты выделишь отдельные ячейки?


 
Соловьев ©   (2003-03-05 12:23) [14]


> скопировались во вторую DBgrid..

Это явное не понимание того как построена работа с БД на Delphi.
DBGrid только для отображения НД, и скопировать туда нельзя(можно создать илюзию). Чтобы создать илюзию, то скопируй данные из НД, которые показывает первый грид, в набор данных, который показывает второй грид.


 
MsGuns ©   (2003-03-05 12:27) [15]

>Anatoly Podgoretsky © (05.03.03 12:20)
>Интересно только как ты выделишь отдельные ячейки?

А что, так трудно это реализовать ? У меня получалось без особых проблем (для пометки записей использовал закладки,в Tag`и которых писал индексы колонок (n1*0+n2*10+n3*100...), а потом OnDrawnColumnCells)



 
zacho ©   (2003-03-05 12:35) [16]

Для начала разберись с основными принципами работы с БД на Дельфи. DBGrid (и другие DB-aware контролы) данных не содержат, они только отображают данные из соответствуещего DataSet"а, поэтому скопировать ячейки из одного DBGrid в другой нельзя. Можно "скопировать" (вставить?) записи из одного DataSet"а в другой. Для определения, какие записи в Table соответствуют помеченным в гриде используется TDBGrid.SelectedRows


 
Lans   (2003-03-05 12:40) [17]


>Соловьев
Естественно, что я копирую не в Grid, а в TTable.Если копировать по одной у меня работает!Мне и надо по циклу проверить TTable 1-го dbgridа на select, и скопировать во 2-ую TTable


 
Anatoly Podgoretsky ©   (2003-03-05 12:47) [18]

MsGuns © (05.03.03 12:27)
Реализовать конечно можно, при этом надо позабоиться об визуальной индикации, но это явно не у автора вопроса, у него проблемы на более мелком уровне, с непониманием работы баз вообще.


 
MsGuns ©   (2003-03-05 13:02) [19]

>Anatoly Podgoretsky © (05.03.03 12:47)
>у него проблемы на более мелком уровне, с непониманием работы баз вообще.

.. усугубленное злобной агрессией ;)


 
Lans   (2003-03-05 13:27) [20]

Спасибо ребята огромное!!!Я сам разобрался.Все это можно реализовать при помощи вот этого кода:
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+", ";
s:=s+Fields[j].AsString;
end;
AGTable50.Insert;
AGTAble50.FieldByName("seria").AsString:=s;
AgTable50.Post;
s:= "";
end;
end;

ФФФФФФФФФФФФУУУУУУУУУУУУУ!!!!
А по поводу хелпа вы правы были(его надо читать читать и читать)!!!
Всем спасибо чем смогу вам помогу!!!


 
Lans   (2003-03-05 13:28) [21]

По поводу агресси!!!:)
Я уже в правду начал тут психовать!!(Еще и сроки)


 
Anatoly Podgoretsky ©   (2003-03-05 13:36) [22]

Это не агрессия, а форма представления.


 
Evgeny7   (2003-03-05 13:43) [23]

Проще всего было бы добавить к таблице из которой надо скопировать некий набор данных поле, которое содерало бы признак выборки (например поле типа Logical, или другие по вкусу), из приложения проставлять в это поле пометку для копирование...и почти всё. Дальше пишеш код копирования от начала до конца исходной таблици с проверкой на совпадение признака копирования, или другой вариант - выборка из Query, тогда и коприровать не надо будет.


 
MsGuns ©   (2003-03-05 13:54) [24]

>Evgeny7 (05.03.03 13:43)

Перебор всего курсора ? Может для программера и проще (хотя сомневаюсь - из-за гемора с доп.полем), а вот для юзера навряд ли...
Выборка доп.запросом вообще не катит, т.к. надо
- Сделать поле Logical табличным полем (а нафиг ?)
- При отметке юзером геморить с изменением обновленных записей в физ.таблице
- Что делать, если с таблом работают ДВОЕ ? Как различать их отметки ? Иначе будет выбираться то, что юзер не выбирал.


 
Evgeny7   (2003-03-05 14:04) [25]

Под выроженнием "добавить к таблице" я имел ввиду изменение структуры таблици в базе данных.



Страницы: 1 вся ветка

Текущий архив: 2003.03.24;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.019 c
3-76287
denis24
2003-03-04 13:31
2003.03.24
формат данных в гриде


14-76627
BALU1111
2003-03-07 19:06
2003.03.24
А почему люди домой не идут???


14-76644
gn
2003-03-07 08:43
2003.03.24
коты


14-76569
Sergo
2003-03-06 13:37
2003.03.24
Бейсик


3-76324
denis24
2003-03-05 15:20
2003.03.24
TFields.onGetText