Форум: "Базы";
Текущий архив: 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.013 c