adrqQuery := TADOQuery.Create(nil);
I := 0; with adrqQuery do
try
SQL.Clear;
SQL.Text := '....';
Open;
if not IsEmpty then
begin
First;
while not Eof do
begin
tmpItem := lvMainFrm.Items.Add;
tmpItem.SubItems.Add(FieldByName('METERID').AsString);
tmpItem.SubItems.Add(FieldByName('METERTYPE').AsString);
tmpItem.SubItems.Add(FieldByName('USERNAME').AsString);
tmpItem.SubItems.Add(FieldByName('ADDRESS').AsString);
tmpItem.SubItems.Add(FieldByName('TELEPHONE').AsString);
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat));
I := I + 1;
Next;
end;
end;
except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;这段代码是在ListView中显示数据,ListView的ViewStyle是vcReport,上面SQL查找的结果是有数据的,但是不知道为什么上面语句没有出错,执行完界面上却没有什么东西显示?
I := 0; with adrqQuery do
try
SQL.Clear;
SQL.Text := '....';
Open;
if not IsEmpty then
begin
First;
while not Eof do
begin
tmpItem := lvMainFrm.Items.Add;
tmpItem.SubItems.Add(FieldByName('METERID').AsString);
tmpItem.SubItems.Add(FieldByName('METERTYPE').AsString);
tmpItem.SubItems.Add(FieldByName('USERNAME').AsString);
tmpItem.SubItems.Add(FieldByName('ADDRESS').AsString);
tmpItem.SubItems.Add(FieldByName('TELEPHONE').AsString);
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat));
I := I + 1;
Next;
end;
end;
except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;这段代码是在ListView中显示数据,ListView的ViewStyle是vcReport,上面SQL查找的结果是有数据的,但是不知道为什么上面语句没有出错,执行完界面上却没有什么东西显示?
解决方案 »
- 如何让Edit具有Label的Alignment属性的功能
- 不难的问题,但小的初学不懂..先谢了,
- 求教delphi串口编程问题。谢谢!
- 鉴于CSDN关门这几天给大家带来的精神上的,利益上的损失给每人多加300分可用分作为补偿!
- 为什么编译提示如下错误???进来拿分...
- 在delphi中实现 将一组email地址加入到outlook中,例如新闻组中
- 如何抓取网页上的信息?等候中……
- 现在我们要用delphi6开发程序,不知与delphi5和6有哪些优缺点?
- Ole 调用Word模板功能的方法,谢谢!
- 有用过MDaemon的吗?
- 动态数组空间释放问题
- delphi 2009 如何使用命名空间?
本来是空的? 新增一个根节点,貌似跟昨天的问题一样.根节点找不到兄弟节点
改成
tmpItem.Caption := FieldByName('METERID').AsString;
begin
First;
while not Eof do
begin
tmpItem := lvMainFrm.Items.Add;
tmpItem.Caption := '1';
tmpItem.SubItems.Add(FieldByName('METERID').AsString);
tmpItem.SubItems.Add(FieldByName('METERTYPE').AsString);
tmpItem.SubItems.Add(FieldByName('USERNAME').AsString);
tmpItem.SubItems.Add(FieldByName('ADDRESS').AsString);
tmpItem.SubItems.Add(FieldByName('TELEPHONE').AsString);
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat)); I := I + 1;
Next;
end;
end;这样也不行:(
list :TListItem;
i :Integer;
adrqQuery:TADOQuery;
begin
adrqQuery := TADOQuery.Create(nil); with adrqQuery do
try
Close;
Connection:=TADOConnection;{注意此处,不知楼主你的数据库连接组件是什么名,请自行修改}
SQL.Text='.....';
Open;
if Not IsEmpty then
begin
while Not Eof do
begin
if trim(Fields[0].AsString)<>'' then
begin
list :=ListView1.Items.Add;
list.Caption :=Fields[0].AsString;
for i :=1 to Fields.Count-1 do
if Fields.Fields[i].DataType in [ftFloat,ftInteger] then
list.SubItems.Append(FormatFloat('#0.0',Fields[i].AsFloat))
else
list.SubItems.Append(Fields[i].AsString);
end;
Next;
end;
end;
finally
Close;
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
ListItem:TListItem;
begin
try
ListView1.Items.Clear;
with ListView1 do for i:=0 to 10 do begin
ListItem:=Items.Add;
ListItem.Caption:= IntToStr(i);
ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
ListItem.SubItems.Add('第三列内容');
end; except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;
end;procedure TForm1.ListView1Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ListView1.Items.Count-1 Do
If ListView1.Items[i].Selected then begin
Edit1.Text := listview1.Items[i].Caption; //读第i行第1列
Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列
Edit3.Text := listview1.Items[i].SubItems.strings[1]; //读第i行第3列
end;
end;我这样试过了,
参考资料:
http://school.cfan.com.cn/pro/delphi/2007-10-22/1193032446d125617.shtml
begin
First;
while not Eof do
begin
with ListView1.Items.Add do
begin
Caption := FieldByName('METERID').AsString;
SubItems.Add(FieldByName('METERTYPE').AsString);
SubItems.Add(FieldByName('USERNAME').AsString);
SubItems.Add(FieldByName('ADDRESS').AsString);
SubItems.Add(FieldByName('TELEPHONE').AsString);
SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat));
end; I := I + 1;
Next;
end;
end;
这是我用过的添加方式。你试下。