bcb,c++builder里listview例子

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void __fastcall TForm1::Display() //ListView显示查询结果
{
TStringList * Name_row=new TStringList(); //记录集
TListColumn *NewColumn1;
TListItem *ListItem;
String *arr_row;
int n=20,i;
String strArr[21]={"SORT_CODE", "NAME","REG_NAM","TRADE_NAME","CHARGE_UNIT", "BRANK","STANDARD","PRICE","PRODU","SUPPL","IMPORT_PRICE","INDATE",
"START_FLAG","BAR_CODE","JOB_NUM","MARK_DATE","MARK_TIME","REMARKS","USE_DATE", "USE_TIME","USE_FLAG"};
arr_row=new String[n];
ListView1->Clear();
CBB1->Items->Clear(); //combobox清空
this->ListView1->Columns->Clear();
Name_row=ADOQuery1->FieldList; //全部列名读到记录集里
for(i=0;i<ADOQuery1->FieldCount;i++)
{
// ADOQuery1=XXX;ADOQuery1->GetFieldName(Name_row);
arr_row[i]=Name_row->CommaText;
arr_row[i]=Name_row->Strings[i]; //分别将每个列名存放到数组
NewColumn1 = this->ListView1->Columns->Add(); //listview添加列
for(k=0;k<21;k++) if(arr_row[i]==strArr[k]) break; //找出列名对应在strArr数组的编号
switch(k) //根据编号找到对应的中文
{
case 0:NewColumn1->Caption = "分类编码"; break;case 1:NewColumn1->Caption = "品名";break;
case 2:NewColumn1->Caption = "注册号"; break;case 3:NewColumn1->Caption = "商品名";break;
case 4:NewColumn1->Caption = "计价单位"; break;case 5:NewColumn1->Caption = "品牌";break;
case 6:NewColumn1->Caption = "规格"; break;case 7:NewColumn1->Caption = "零售价"; break;
case 8:NewColumn1->Caption = "生产厂家"; break;case 9:NewColumn1->Caption = "供应商"; break;
case 10:NewColumn1->Caption = "进货价"; break;case 11:NewColumn1->Caption = "有效期";break;
case 12:NewColumn1->Caption = "启用标志"; break;case 13:NewColumn1->Caption = "条码"; break;
case 14:NewColumn1->Caption = "录入人工号"; break;case 15:NewColumn1->Caption = "录入日期"; break;
case 16:NewColumn1->Caption = "录入时间";break; case 17:NewColumn1->Caption = "备注"; break;
case 18:NewColumn1->Caption = "使用日期";break;
case 19:NewColumn1->Caption = "使用时间";break; case 20:NewColumn1->Caption = "使用标志";
break; default:break;
}
NewColumn1->Width = (ListView1->Width)/ADOQuery1->FieldCount; //根据列数计算每列的宽度
m=i;
CBB1->Items->Add(NewColumn1->Caption); //添加分类查询类别
}
while(!Form1->ADOQuery1->Eof)
{
ListView1->ViewStyle=vsReport; //设置listview的显示格式属性
ListItem = ListView1->Items->Add(); //添加行项目
ListItem->Caption = Form1->ADOQuery1->FieldByName(arr_row[0])->AsString; //将第i列的第一行的内容读到当前行
for(int k=1;k<=m;k++)
{
ListItem->SubItems->Add(Form1->ADOQuery1->FieldByName(arr_row[k])->AsString); //将第i列第K行的内容读到第k行
}
Form1->ADOQuery1->Next(); //指向下一行
}
}。

相关文档
最新文档