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

Вниз

DBGrid   Найти похожие ветки 

 
Svin   (2003-11-20 08:54) [0]

Как выбрать все записи в DBGrid
DBGrid связана с DataSource


 
Zacho   (2003-11-20 09:07) [1]

В каком смысле выбрать ? Если отметить - то так:
DBGrid.DataSource.DataSet.First;
while not DBGrid.DataSource.DataSet.Eof do
begin
TDBGrid.SelectedRows.CurrentRowSelected:=true;
DBGrid.DataSource.DataSet.Next;
end;


 
don-do   (2003-11-20 09:19) [2]

>>Zacho © (20.11.03 09:07) [1]

В этом случае будет использовано много памяти, особенно если таблица большая, лучше использовать переменную, например

Tform1.AllSelected

И самому окрашивать записи.

Правда получать список нужно в этом случае самому, по нужде, а не позволять пользователю играть со свапом.


 
Zacho   (2003-11-20 09:28) [3]


> don-do © (20.11.03 09:19) [2]

А толку их просто окрашивать ? Посмотри, что такое TBookmarkList. И выбирать тысячи записей для отображения в гриде - моветон и издевательство над пользователем.


 
Svin   (2003-11-20 09:32) [4]

2Zacho
А без пробега по DBGrid никак нельзя?


 
Johnmen   (2003-11-20 09:39) [5]

А смысл ?


 
Zacho   (2003-11-20 09:40) [6]


> Svin (20.11.03 09:32) [4]

Разве что, действительно, окрашиванием записей вручную. Но смысл ?
И пробег не по DBGrid, а по подключенному к нему DataSet"у. Разница принципиальная.


 
Svin   (2003-11-20 09:42) [7]

Да это понятно, что по DataSet, только ведь долго это, если у меня там 600000 записей, взбесишься...


 
ЮЮ   (2003-11-20 09:47) [8]

>если у меня там 600 000 записей

А ты хочешь, чтобы пользователь "выбрав все" затем по одной снимал выделение с 599 000 записей? Что ты вообще хочешь добиться с помощью выделения?


 
Johnmen   (2003-11-20 09:47) [9]

>Svin

А смысл ?


 
mtihonov   (2003-11-20 09:50) [10]

Просто реплика!
Ну когда-же Вы, народ уйдете от DBFского мышления.
Есть SQL язык! Выбери что надо в запросе и делай все что надо с этой группой записей. Какой, извините идиот, будет просматривать в DBGrid с 600000 записей, вылавливать и отмечать нужные...


 
Danilka   (2003-11-20 09:51) [11]

[7] Svin (20.11.03 09:42)
а нафига ему столько? сколько рабочих месяцав понадобится, чтобы их все только просмотрть?


 
Svin   (2003-11-20 09:52) [12]

А если надо все, а пару не надо? :-(


 
Наталия   (2003-11-20 09:58) [13]

>Svin (20.11.03 09:52) [12]
>А если надо все, а пару не надо? :-(

"Не верю!" (с) Станиславский

Данные какого рода необходимо отобразить пользователю?


 
Svin   (2003-11-20 10:01) [14]

Телефоны


 
Danilka   (2003-11-20 10:03) [15]

если он не псих, то ему столько не надо.


 
Danilka   (2003-11-20 10:03) [16]

что он с таким кол-вом будет делать?


 
Наталия   (2003-11-20 10:04) [17]

И что пользователь будет делать с 600 000 телефонов? Просматривать их список на экране? Наверняка можно показывать не весь список этих телефонов, а выбирать их по какому-нибудь условию?


 
Svin   (2003-11-20 10:07) [18]

Нельзя... это программа-интерфейс для обновления базы данных по абонентам... если не нужно добавлять пару телефонов, а остальные добавить... и вообще вопрос не в этом, а в том, можно ли выбрать все сразу...?


 
Sergey13   (2003-11-20 10:09) [19]

2Наталия © (20.11.03 10:04) [17]
>И что пользователь будет делать с 600 000 телефонов?
Звонить всем подряд. 8-)


 
Наталия   (2003-11-20 10:10) [20]

это программа-интерфейс для обновления базы данных по абонентам... если не нужно добавлять пару телефонов, а остальные добавить...

Вот с этого места поподробнее... Зачем для обновления БД показывать её в Grid?


 
Zacho   (2003-11-20 10:11) [21]


> Svin (20.11.03 10:07) [18]

Не делаются так интерфейсы. По крайней мере нормальные. Во-первых, можно сделать наоборот - отмечать ненужные записи, а во-вторых - такое кол-во записей в наборе данных все равно не нужно, да просто не сможет нормальный человек с таким нормально работать. Обычно делаются всяческие многоуровневые классификаторы, фильтры и т.п. Ведь все равно пользователь отбирает эти телефоны по каким-то критериям.


 
Svin   (2003-11-20 10:20) [22]

Да нет тут критериев, тут они чисто визуальные, это для администратора Call-Center"а.. ну не буду же я вам щас рассказывать полностью задачу, да и не могу... нельзя... вообщем пойду по пути №1


 
Danilka   (2003-11-20 10:25) [23]

бедные админы калл-центра. Svin надеюсь, тебя ждет легкая смерть, сразу задушат, без пыток.
а если серьезно, то с таким подходом, в лучем случае они промучаются недолго и закажут где-нибудь в другом месте решение задачи, а тебя выгонят.
В худшем для них случае - они будут мучиться долго, пока где-нибудь не увидят человечью альтернативу. Результат, правда, для тебя все равно будет одинаковым.


 
Zacho   (2003-11-20 10:29) [24]


> Svin (20.11.03 10:20) [22]

Не верю. Не бывает так, что бы критериев не было. Ни разу в жизни не видел, ни для какой задачи. Бывает, конечно, что просто надо выбрать записи по какому-то уникальному идентификатору и т.п., но для этого вовсе не нужно показывать всю таблицу в гриде, такие задачи по другому решаются.


 
Svin   (2003-11-20 10:32) [25]

Блин, ну прям гении все.. SQL ипользуй и т.д., а то я его совсем не использую, пользуюсь примитивным select * from Table1... :-) при воможностях-то Transact SQL :-)
Нет, чтобы подсказать, начинают спрашивать фигню всякую и хамят...

>а если серьезно, то с таким подходом, в лучем случае они промучаются недолго и закажут где-нибудь в другом месте решение задачи, а тебя выгонят.
То-то я дурак такой.. столько лет тут работаю.. :-(


 
Zacho   (2003-11-20 10:39) [26]


> Svin (20.11.03 10:32) [25]

Да при чем тут гении - не гении ? Ты вот сам попробуй визуально найти нужную запись из 600000. Сколько дней на это уйдет ? Лично у меня такая программа сразу же в Recycled Bin оказалась бы.
И что подсказывать ?
Ну вот, например, решение: возьми TDBGridEh, там можно выделить/снять выделение со всех записей одним щелчком мышки. А толку ?


 
Svin   (2003-11-20 10:50) [27]

Говорю же надо.. несколько человек обсуждали, все инженеры.. не найден нами другой способ решения.. нашли бы, я и спрашивать не стал.. все вообщем... извините, сорвался..


 
Danilka   (2003-11-20 10:57) [28]

>если не нужно добавлять пару телефонов, а остальные добавить

почему-бы просто не вывести стринг-лист, куда-бы они ручками забили эту пару телефонов?
зачем тащить все на клиента и вываливать в грид, когда нужна только пара телефонов?


 
Кулюкин Олег   (2003-11-20 10:59) [29]

2 Svin
Ну если уж они уперлись и хотят заставить человека отсматривать 600000 записей, разбейте набор данных на маленткие группы (записей по 1000-2000 :)
Пускай частями заливают.
+ добавьте кнопку "Залить все".


 
Zacho   (2003-11-20 11:08) [30]


> Danilka © (20.11.03 10:57) [28]

Был у меня эпизод, когда директор долго и настойчиво убеждал меня, что просто необходимо видеть всю номенклатуру товаров в гриде. В конце концов оказалось, что просто он имел в виду, что нужен поиск по штрих-коду по всей номенклатуре. И добавление найденого товара в накладную. Естественно, для этого грид вообще не нужен. :)
Может и в этом случае что-то аналогичное ?


 
Sergey13   (2003-11-20 11:10) [31]

2Svin (20.11.03 10:20) [22]
>ну не буду же я вам щас рассказывать полностью задачу, да и не могу...
При таких условиях, чего ты хочешь. Мы же твоих условий не знаем.

>нельзя...
Военная тайна? 8-)

>вообщем пойду по пути №1
А мы пойдем другим путем. (с) В.И.Ульянов (Ленин) 8-)


 
Danilka   (2003-11-20 11:12) [32]

[30] Zacho © (20.11.03 11:08)
:))
наверняка, что-то подобное. наверняка список пары телефонов которые не надо обновлять уже где-то есть, не только у оператора в голове.


 
Svin   (2003-11-20 11:15) [33]

Не надо ему все записи просматривать, просто может быть ситуация, когда ему надо только две занести, а если все сразу, то надо сначала их выделить, потому что писать другой код не хочется, хотя придется все-таки...


 
Danilka   (2003-11-20 11:17) [34]

[33] Svin (20.11.03 11:15)
а нафига грид???
пусть ручками напишет эти две, хоть в мемо-поле, хоть в лист-боксе.
и радиобуттон: "обновить выбранные телефоны"/"обновить все, кроме выбранных телефонов".


 
Наталия   (2003-11-20 11:17) [35]

Svin (20.11.03 11:15) [33]
А если ему не нужно их просматривать, зачем их тогда в гриде отображать?


 
Svin   (2003-11-20 11:27) [36]

>а нафига грид???
>пусть ручками напишет эти две, хоть в мемо-поле, хоть в лист-боксе.
Хм...
А если он их не знает.. даже без если.. он из НЕ знает..

>А если ему не нужно их просматривать, зачем их тогда в гриде отображать?
диапазон от 1 до 600000... надо отображать..


 
Danilka   (2003-11-20 11:34) [37]

[36] Svin (20.11.03 11:27)
>он из НЕ знает..
А как тогда он глянув на номер узнает надо его обновлять или нет???


 
Кулюкин Олег   (2003-11-20 11:35) [38]


> А как тогда он глянув на номер узнает надо его обновлять
> или нет???

Вспомнит, что залил его вчера :))

2 Svin
600000 это максимум или обычное рабочее число?


 
Svin   (2003-11-20 11:38) [39]

>600000 это максимум или обычное рабочее число?
максимум...

>А как тогда он глянув на номер узнает надо его обновлять или нет???
Гы.. :-) по твоему а я только с телефонами работаю, а адреса, организации кому он принадлежит тут отсутствуют?


 
Zacho   (2003-11-20 11:44) [40]


> Svin (20.11.03 11:38) [39]

Значит критерии для выбора все-таки есть ! Вот и делайте фильтр по ним. Например, по конкретной улице, и/или по организациям, название которых начинается с такого-то слога и т.д.



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

Форум: "Базы";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.007 c
1-36645
Gorn
2003-11-30 20:58
2003.12.12
Дистрибютив программы и Rave


1-36596
Фагот
2003-12-01 15:54
2003.12.12
DateEdit комонент


1-36638
Ciber
2003-12-01 06:30
2003.12.12
NEXT


4-36893
Decr
2003-10-15 15:04
2003.12.12
Dial Up


8-36775
Sergeys
2003-08-15 20:18
2003.12.12
Как можно наложить(вставить) изображение....





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский