Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» C++ Builder: Работа с DBGrid?

Автор: VasyOK
Дата сообщения: 13.11.2004 10:36
Всем добрый день!

Есть таблица DBGrid1. В ней есть колонки: val1, val2, val3.

Вопросы:
1. Как добавить строку в таблицу и присвоить колонкам значения
2. Как удалить строку на которой находиться курсор
3. Как отредактировать значения колонок выбранной строки
4. Как прочитать значение из строки, например, 5 колонки val2 в переменную znachtab

Изюминка: как все это сделать не используя никаких баз данных. Мне не надо чтобы данные из таблицы сохранялись. Суть программы: войти, заполнить талицу, обсчитать таблицу по определенным формулам, получить результат, закрыть программу.

Автор: TheChampion
Дата сообщения: 13.11.2004 15:14
С DBGrid ничего не получится. Используй TStringGrid
Автор: VasyOK
Дата сообщения: 13.11.2004 16:29
TheChampion

А как сделать все вышеперечисленное в TStringGrid
Автор: TheChampion
Дата сообщения: 13.11.2004 16:52
В классе TStringGrid есть член Cells. Обращаясь к нему

sg->Cells[i][j]

можно считать строку на соответствующей позиции (подробнее см. Help)

Чтобы получить число из строки используй член ToInt() класса AnsiString или функцию StrToInt().
Автор: VasyOK
Дата сообщения: 14.11.2004 22:46
TheChampion

А как удалить выбранную строку?
Автор: raven
Дата сообщения: 14.11.2004 23:02
VasyOK
во-первых вот описание
во-вторых судя по описанию, действуем так:
очищаем требуем строку
сдвигаем строки ниже на 1 позицию вверх
изменяем кол-во строк на 1
Автор: VasyOK
Дата сообщения: 15.11.2004 09:45
Смещение почему то не работает:

int i,j;

j=tab->Row;
tab->Rows[j]->Clear();

for (i=j; i>=tab->RowCount-1; i++){
tab->Rows[i]->Assign(tab->Rows[i+1]);
}
Автор: alexan04
Дата сообщения: 22.11.2004 04:34
Можно вот так:
{
//удаление строки
AnsiString m=StringGrid1->Row;
int k=m.ToInt();

for(int c=k;c<StringGrid1->RowCount;c++)
for(int i=0;i<StringGrid1->ColCount;i++)
StringGrid1->Cells[i][c]=StringGrid1->Cells[i][c+1];

StringGrid1->RowCount--;
}

Страницы: 1

Предыдущая тема: Доступ к ячейкам в Afalinе XL Report


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.