Опять этот StringGrid

  • Автор темы anastasia
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

anastasia

Гость
#1
В StringGrid с определенных таблиц базы данных InterBase считывается и отображается информация. Нужно в StringGrid кликнуть на ту строчку, которую мы хотим удалить и нажать на кнопочку BitBtn. Результатом будет удаление соответствующей информации с таблиц базы данных и перерисовка данной формы с отображением всей предыдущей информации без этой строчки (т.е. поиск выделенной строки StringGrid1 в таблице базы данных и удаление этой строчки). Т.е. другими словами нужно заново считать информацию.
Кто может, помогите, please.
 
B

Barmutik

Гость
#2
Так и в чём конкретно проблема?

С удалением строчки из грида, перезаполнением грида или чем?
 
A

Artexoid

Гость
#3
anastasia

Удалите выделенную строчку в StringGrid1 вот этим кодом :
Код:
. . .
var index:integer;
. . .
for index:=form1.StringGrid1.Row to form1.StringGrid1.RowCount-1 do
begin
   form1.StringGrid1.Cells[1,index]:=form1.StringGrid1.Cells[1,index+1];
   form1.StringGrid1.Cells[2,index]:=form1.StringGrid1.Cells[2,index+1];
   form1.StringGrid1.Cells[3,index]:=form1.StringGrid1.Cells[3,index+1];
   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
   form1.StringGrid1.Cells[n,index]:=form1.StringGrid1.Cells[n,index+1];
end;
А потом перезапишите информацию в базу данных.
 
G

Guest_anastasia

Гость
#4
<!--QuoteBegin-Barmutik+24:04:2005, 18:26 -->
<span class="vbquote">(Barmutik @ 24:04:2005, 18:26 )</span><!--QuoteEBegin-->Так и в чём конкретно проблема?

С удалением строчки из грида, перезаполнением грида или чем?[/quote]
Проблема именно в удалении выделенной строчки из таблицы базы данных,а не из Грида.
 
B

Barmutik

Гость
#5
А вы запоминайте в каждой строчке грида где-нибудь в Objects .. первичный ключ той записи которую вы показывайете в этой строке грида.

Тогда для удаления записи Вам нужно будет вычитать этот ключ и уже далее по нему спокойно удалить запись из базы данных.
 
D

_dimka_

Гость
#6
Здраствуйте Анастасия,
я как раз вчера сдал работу по этой теме.

1. Если вы работаете с базой, тогда зачем использовать StringGrid если есть DBGrid,
который существует именно для таких целей. Зачем (извините) всё с ног на голову ставить.
2. Там очень легко добраться до выделенно строки.
2.1. Затем найти запись соответствующую в базе, подать запрос на удаление этой строки.

Чесно с InterBase'ом не работал. Я работаю только с SQL. Но там всё тоже самое, даже запросы по-моему такие же.

Если надо, то могу написать всю последовательность действий.
Заинтересовались goodmel@mail.ru, только в теме напишите что это вы.
 
Статус
Закрыто для дальнейших ответов.