Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 13:25   #1
ANsy
Пользователь
 
Аватар для ANsy
 
Регистрация: 30.09.2010
Сообщений: 19
Вопрос грид без полного обновления

предположим есть таблица на сервере mssql.
один человек добавил запись и чтобы все не обновлять таблицу чтобы увидеть обновления добавить новую запись в нужном месте грида.

подскажите, может есть что-то уже, если нет, то как через stringgrid вставить запись посредине без цикла? Либо может есть компонента беспл такого рода, а может грид умеет показывать обновленные записи без апдейта грида?

в общем хочу не обновляя грид полностью получать новые данные с сервера.
ANsy вне форума Ответить с цитированием
Старый 14.10.2010, 13:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
как через stringgrid вставить запись посредине без цикла?
Добавляй запись в конец, а потом
Код:
type   grd=class (TCustomGrid) end;
...
grd(StringGrid1).MoveRow(StringGrid1.RowCount-1,<Тут номер строки куда вставить>);
Цитата:
а может грид умеет показывать обновленные записи без апдейта грида?
Веселая фраза ))) Травка отдыхает.
Цитата:
хочу не обновляя грид полностью получать новые данные с сервера.
А получать то умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2010, 09:30   #3
new player
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 153
По умолчанию

Занести данные (adoquery.fieldbyname('поле').asStr ing) в StringGrid через свойство StringGrid.Cells[][]

Потом, когда надо будет обновить, сделайте запрос типа
Код:
select distinc <поле> from <таблица>
И замените данные в нужном столбце (StringGrid.Cells[][])
new player вне форума Ответить с цитированием
Старый 15.10.2010, 09:57   #4
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от ANsy Посмотреть сообщение
предположим есть таблица на сервере mssql.
один человек добавил запись и чтобы все не обновлять таблицу чтобы увидеть обновления добавить новую запись в нужном месте грида.

подскажите, может есть что-то уже, если нет, то как через stringgrid вставить запись посредине без цикла? Либо может есть компонента беспл такого рода, а может грид умеет показывать обновленные записи без апдейта грида?

в общем хочу не обновляя грид полностью получать новые данные с сервера.
может быть вам не стоит загружать все данные в грид?
обычно пользователи работают с очень маленьким количеством записей из БД, я видел как-то хорошее решение для MS SQL - добавить строку поиска над гридом.
при первом запуске загрузить в грид, например, 50 записей (select top 50 * from ваша_таблица), при введении в строку поиска первых букв производить запрос 50 записей с новыми условиями (select top 50 * from ваша_таблица where поле_таблицы like 'значение_поиска%'). Конечно это не очень удачное решение, но зато быстродействие увеличится в разы. И обновляться грид будет очень быстро.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать в поле без обновления Mysql Hichigo PHP 6 27.09.2010 14:58
Загрузить файл без обновления страницы? denisov JavaScript, Ajax 0 24.05.2010 17:44
Запрос к MySQL без обновления страницы denisov PHP 3 02.03.2010 19:39
Обновление ДБ Грид-а opel.omega Общие вопросы Delphi 6 24.11.2008 12:58
Сложный грид pkv БД в Delphi 15 09.11.2007 14:08