DBGrid多行选择
(1)属性设置
Options ->dgMulitSelect 设置为 true
(2)
void __fastcall TForm1::Button1Click(TObject *Sender)
{ if (DBGrid1->SelectedRows->Count > 0)
{
AnsiString s = "";
TDataSet *pDS = DBGrid1->DataSource->DataSet;
for (int i=0; i < DBGrid1->SelectedRows->Count; i++)
{
pDS->GotoBookmark((void *)DBGrid1->SelectedRows->Items[i]c_str());
for (int j = 0; j < pDS->FieldCount; j++)
{
if (j>0)
s = s+", ";
s = s + pDS->Fields->Fields[j]->AsString;
}
ListBox1->Items->Add(s);
s = "";
}
}
}
(3)全选
//DBGrid1->Columns->Items->s
// for(int i=0;i<DBGrid1->Columns->Count;i++)
// DBGrid1->Columns->Items->Field;
DBGrid1->DataSource->DataSet->First();
while (!DBGrid1->DataSource->DataSet->Eof)
{
DBGrid1->SelectedRows->CurrentRowSelected= true; //选中;要不选中,改为false
DBGrid1->DataSource->DataSet->Next();
}