首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tlistview -有没有像Tlistview这样的组件,但是可以访问数据库?

Tlistview -有没有像Tlistview这样的组件,但是可以访问数据库?
EN

Stack Overflow用户
提问于 2013-05-16 22:06:56
回答 1查看 1.3K关注 0票数 0

我一直在尝试做一个有创意的东西来避免dbgrids,我已经找到了Tlistview (使用来自alphaskinstslistview的那个),看起来是一个很好的方式!

问题是,我不想在每个tlistview上编写事件onclick,以便根据我在tlistview上选择的项来定位record/dataset。我正在用tlistview item's caption来做这件事..并且可能有同名的记录

下面是我想要避免的代码之一:

代码语言:javascript
复制
with q_find_process do
begin
  close;
  sql.Clear;
  sql.Add('Select * from t_process where process_name like '+quotedstr(streeview1.Selected.Text)+');
  open;
end;

不,我不想把记录的ID放在项目标题上。。!

有什么想法吗?

有没有人知道显示大量记录而不只是文本文本和更多文本的其他方法?我不知道工具面板上的所有组件,也许有人可以向我推荐其他组件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-17 11:40:36

我有时会使用从数据库表中加载的列表视图--仅用于少量数据。我不明白您所说的是什么意思我不想在每个tlistview上编写事件onclick来根据我在tlistview上选择的项来定位记录/数据集,所以我将向您展示我是如何解决这个问题的。

基本上,我创建了一个包含每个记录的主键的子项。所有用户界面代码都使用两个列表视图,最后更新数据库。在加载和存储之间没有与数据库的交互(这可能是我避免“onclick”问题的地方)。每个字段的宽度在对象检查器中设置;最后一个子项的宽度为0(即不显示)。

加载列表视图:

代码语言:javascript
复制
 srclist.items.clear;
 with qSrcList do
  begin
   close;
   params[0].asdate:= dt;  // use date of deposit
   open;
   while not eof do
    begin
     ListItem:= srclist.Items.Add;
     ListItem.Caption:= fieldbyname ('kabnum').asstring;
     ListItem.SubItems.Add (fieldbyname ('price').asstring);
     ListItem.SubItems.Add (fieldbyname ('duedate').asstring);
     ListItem.SubItems.Add (fieldbyname ('docket').asstring);
     ListItem.SubItems.Add (fieldbyname ('id').asstring);
     next
    end;
   close
  end;

保存数据:

代码语言:javascript
复制
 with dstlist do
  for index:= 1 to items.count do
   with qInsert do
    begin
     dstlist.itemindex:= index - 1;
     lvitem:= dstlist.selected;
     parambyname ('p1').asinteger:= deposit;
     parambyname ('p2').asinteger:= strtoint (lvitem.SubItems[3]);
     parambyname ('p3').asfloat:= strtofloat (lvitem.SubItems[0]);
     execsql;
    end;

我希望这对你有帮助。这段代码的上下文(并不是说它太重要)是在一个金融应用程序中,用户希望用支票填充银行存款表单。SrcList持有尚未存入的支票(每个给定日期只有几张),而DstList持有已经连接到给定存款表单的支票。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16589670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档