一个listview循环插入单元格数据的思路,求解决

keri_syml 2013-07-29 10:06:57
我现在有一行数据,unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11}; 有一个listview,每行只有4列,我想把senddata中的数据插入到listview中,插入后的效果如下:

listview:

列1 列2 列3 列4
01 02 03 04
05 06 07 08
09 10 11


请问该如何来写这个程序呢????
...全文
87 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
keri_syml 2013-07-29
  • 打赏
  • 举报
回复
引用 1 楼 ksrsoft 的回复:
void __fastcall TForm1::btn2Click(TObject *Sender)
{
     unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11};
      TListItem *pListItem1;
     TListColumn *pListItem;
     int i;

     ListView1->Columns->Clear();
     ListView1->Clear();
     ListView1->ViewStyle = vsReport;
     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C1";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C2";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C3";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C4";

     for(i=0;i<11;i++)
     {
         pListItem1 = ListView1->Items->Add();
         pListItem1->Caption = IntToHex(senddata[i++],2);
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2));
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
     }
}
看这个结果对不
谢谢,经测试,只要在循环里面添加一个i=i-1即可.
缘中人 2013-07-29
  • 打赏
  • 举报
回复
void __fastcall TForm1::btn2Click(TObject *Sender)
{
     unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11};
      TListItem *pListItem1;
     TListColumn *pListItem;
     int i;

     ListView1->Columns->Clear();
     ListView1->Clear();
     ListView1->ViewStyle = vsReport;
     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C1";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C2";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C3";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C4";

     for(i=0;i<11;i++)
     {
         pListItem1 = ListView1->Items->Add();
         pListItem1->Caption = IntToHex(senddata[i++],2);
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2));
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
     }
}
看这个结果对不

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧