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

Вниз

Простой метод просчета сумм значений выделенных строк   Найти похожие ветки 

 
Rafe   (2003-12-21 21:39) [0]

Добрый день! Существует ли какой-нибудь способ просчета суммы значений какого-либо поля выделенных строк в гриде, и чтобы все это просиходило в реальном времени. Т. е. хочется сделать так, чтобы по мере выделения пользователем строк считалась сумма значений какого-либо поля выделенных в данный момент строк.
Есть способ:

For i:=0 to Form1.DBGrid1.SelectedRows.Count-1 do
begin
Form1.DBGrid1.DataSource.DataSet.GotoBookmark(pointer(Form1.DBGrid1.SelectedRows.Items[i]));

/* и так в цыкле перебирать значение и суммировать

end;

Но при таком способе сбивается курсор при возвращении курсора на первоначальное значение методом Locate, возникает смещение курсора на центр грида, что не очень хорошо.
Кстати я в место обычного DBGrid использую DBGridEh. Может с его помощью можно как-то решить получше.
Подскажите пожалуйста, наверника кто-то решал такую задачу.


 
Ega23   (2003-12-22 10:34) [1]


> For i:=0 to Form1.DBGrid1.SelectedRows.Count-1 do
> begin
Form1.DBGrid1.DataSource.DataSet.DisableControls;
> Form1.DBGrid1.DataSource.DataSet.GotoBookmark(pointer(Form1.DBGrid1.SelectedRows.Items[i]));

.....
//После Locate

Form1.DBGrid1.DataSource.DataSet.EnableControls;



 
Плохиш_   (2003-12-22 10:40) [2]

>Ega23 © (22.12.03 10:34) [1]

1. DisableControls до цикла, а EnableControls после возврата на первоначальную запись

2. возникает смещение курсора на центр грида Это не решает.


 
Johnmen   (2003-12-22 10:46) [3]

>Rafe

Обработать события клавиатуры и мыши (DBGrid1), могущие привести к изменению количества выделенных записей.
Если такое событие приводит к изм-ю кол-ва записей, то соответственно корректировать предварительно заведенную переменную для суммы значений...


 
Sandman25   (2003-12-22 10:49) [4]

[3] Johnmen © (22.12.03 10:46)

Развитием этой идеи будет наследование от DBGridEh с добавлением нового события SelectedRowsChanged.


 
Ega23   (2003-12-22 10:49) [5]


> Плохиш_ (22.12.03 10:40) [2]

Да, промазал со вставкой. Всё верно говоришь.


 
Johnmen   (2003-12-22 10:56) [6]

>Sandman25 © (22.12.03 10:49)

Совершенно верно. Но, видимо, автору ещё рано про это :)



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
3-49469
Sirruf
2003-12-16 19:40
2004.01.16
Параметры IBStoredProc


1-49516
amo
2004-01-03 11:43
2004.01.16
Многострочный Label


3-49418
AVP_opck
2003-12-19 06:13
2004.01.16
литература по IB?


14-49726
Style
2003-12-22 21:02
2004.01.16
Народ а почему мелкософт не хочет переписать GUI


1-49573
Прямой
2004-01-05 17:14
2004.01.16
Запись в файл





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