| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
nooby Новенький

Зарегистрирован: 02.04.2008 Сообщения: 9
Статус: Отсутствует на форуме Очки: 0 |
Заголовок сообщения: StringGrid удаление строки Добавлено: Ср Апр 02, 2008 11:18 |
|
|
Помогите пожалуйста, нужно чтоб при нажатие на кнопку удалялась выделеная строка, а все что ниже сдвигалось вверх.
Поиски по форуму не привели к успеху.
Заранее спасибо.
|
|
|
| Вернуться к началу |
|
 |
nooby Новенький

Зарегистрирован: 02.04.2008 Сообщения: 9
Статус: Отсутствует на форуме Очки: 0 |
Заголовок сообщения: Добавлено: Ср Апр 02, 2008 14:44 |
|
|
Вот, может кому нужно будет.
____________________________________________________
| Код: |
class TProxyGrid: public TStringGrid
{
public:
using TStringGrid::DeleteRow;
using TStringGrid::DeleteColumn;
}; |
_____________________________________________________
| Код: |
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
int i;
i = StrToInt(StringGrid1->Row);
reinterpret_cast<TProxyGrid*>(StringGrid1)->DeleteRow(i);
} |
|
|
|
| Вернуться к началу |
|
 |
XPyCT Участник

Зарегистрирован: 07.06.2007 Сообщения: 83
Статус: Отсутствует на форуме Очки: 0 |
Заголовок сообщения: Добавлено: Чт Апр 03, 2008 9:42 |
|
|
// требуется подключить #include <StrUtils.hpp>
| Код: |
cROW=StringGrid1->Row;
if (MessageDlg("Delete this rows?",mtConfirmation,TMsgDlgButtons()<<mbOK<<mbCancel,0)==mrOk)
{
StringGrid1->Cells[1][cROW]="";//Это для того чтоб при создании
StringGrid1->Cells[2][cROW]="";//новой строки то что удалил
StringGrid1->Cells[3][cROW]="";//не появилось вновь
StringGrid1->Cells[4][cROW]="";
StringGrid1->Cells[5][cROW]="";
class TProxyGrid : public TStringGrid
{
public:
using TStringGrid::DeleteRow;
};
((TProxyGrid*)StringGrid1)->DeleteRow(cROW);
}
}
StringGrid1->SetFocus();
for(int i=1; i<StringGrid1->RowCount; i++)
StringGrid1->Cells[0][i]=i; |
|
|
|
| Вернуться к началу |
|
 |
szb Посетитель


Зарегистрирован: 08.10.2003 Сообщения: 45
Статус: Отсутствует на форуме Очки: 32 |
Заголовок сообщения: Re: StringGrid удаление строки Добавлено: Пн Фев 08, 2010 14:32 |
|
|
| nooby писал(а): |
Помогите пожалуйста, нужно чтоб при нажатие на кнопку удалялась выделеная строка, а все что ниже сдвигалось вверх.
Поиски по форуму не привели к успеху.
Заранее спасибо. |
| Код: |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i=StringGrid1->Row;i<StringGrid1->RowCount;i++){
for(int j=1;j<StringGrid1->ColCount;j++)
StringGrid1->Cells[j][i]=StringGrid1->Cells[j][i+1];
}
if(StringGrid1->RowCount>2) StringGrid1->RowCount--;
} |
|
|
|
| Вернуться к началу |
|
 |
drunk umka Модератор


Зарегистрирован: 16.03.2003 Сообщения: 4042 Откуда: Киев Статус: Отсутствует на форуме Очки: 5215 |
Заголовок сообщения: Добавлено: Пт Фев 19, 2010 16:45 |
|
|
| XPyCT писал(а): |
| Код: |
StringGrid1->Cells[1][cROW]="";//Это для того чтоб при создании
StringGrid1->Cells[2][cROW]="";//новой строки то что удалил
StringGrid1->Cells[3][cROW]="";//не появилось вновь
StringGrid1->Cells[4][cROW]="";
StringGrid1->Cells[5][cROW]=""; |
|
| Код: |
| StringGrid1->Rows[cROW]->Clear(); |
|
_________________ совращенству нет предела |
|
| Вернуться к началу |
|
 |
|