Лена |
Отправлено: 29.11.2005, 19:06 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Как правильно удалить пустые записи из DBGrid в первой колонке. DBGrid соединент с ClientDataSet1.
Отредактировано Лена — 30/11/2005, 10:40 |
|
Admin |
Отправлено: 29.11.2005, 20:09 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Правильней не через RecordCount
Наверное что-то типа:
CODE |
ClientDataSet1->First();
ClientDataSet1->Next(); // если надо начать со второй записи ?
while(!ClientDataSet1->Eof){
if(ClientDataSet1->Fields->Fields[0]->IsNull) ClientDataSet1->Delete();
else ClientDataSet1->Next();
}
|
Отредактировано Admin — 29/11/2005, 20:10
|
|
Лена |
Отправлено: 30.11.2005, 10:29 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо, буду эксеперементировать.
Отредактировано Лена — 30/11/2005, 10:38 |
|
Лена |
Отправлено: 30.11.2005, 10:38 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо, буду эксперементрировать. |
|
Лена |
Отправлено: 30.11.2005, 11:02 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо. Все работает. Для получения того, что я хотела, не много изменила код. Потому, что IsNull ничего не делал:
CODE |
void __fastcall TST::FormShow(TObject *Sender)
{
Form1->ClientDataSet4->First();
AnsiString X = "";
while(!Form1->ClientDataSet4->Eof)
{
if(Form1->ClientDataSet4->Fields->Fields[1]->Text == X)
{
Form1->ClientDataSet4->Delete();
}
else Form1->ClientDataSet4->Next();
}
}
| |
|
Guest |
Отправлено: 30.11.2005, 17:13 |
|
Не зарегистрирован
|
CODE |
void __fastcall TST::FormShow(TObject *Sender)
{
Form1->ClientDataSet4->First();
while(!Form1->ClientDataSet4->Eof)
{
if(Form1->ClientDataSet4->Fields->Fields[1]->Text == "") Form1->ClientDataSet4->Delete();
else Form1->ClientDataSet4->Next();
}
}
| |
|
idhas |
Отправлено: 01.12.2005, 08:54 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17
|
Хоть и подновато, но такое не рабоатет?
VarIsNull(Form1->ClientDataSet4->Fields->Fields[1])
По-моему для определения нулевого значения и придумали эту функцию... |
|