C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DBGrid1, удаление пустых значений
Лена
Отправлено: 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])
По-моему для определения нулевого значения и придумали эту функцию...

Вернуться в Вопросы программирования в C++Builder