Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

Срочно!!! Какая функция в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.008 c
3-76298
OlegM
2003-03-04 06:45
2003.03.24
Нужно установить BDE без Delphi


7-76676
stone
2003-01-14 11:59
2003.03.24
CDText


3-76350
baracuda
2003-03-04 12:04
2003.03.24
DBgrid


14-76602
Burg
2003-03-07 13:18
2003.03.24
Домины


6-76566
MK
2003-02-02 02:37
2003.03.24
Как получить URL домашней страницы Internet Explorer a?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский