var TempStr:string;TempStr:='嘿嘿!'
listbox.Items.AddObject('哈哈哈哈哈',TObject(TempStr));双击listbox中的“哈哈哈哈哈”
showmessage(String(listbox.Items.Objects[listbox.ItemIndex]));
运行成功!显示“嘿嘿!”
但是同样方法
TempStr:= ADOQurey.fields[1].asstring;
然后
listbox.Items.AddObject('哈哈哈哈哈',TObject(TempStr));
双击以后不会显示数据,却出现了乱码,这是什么原因阿???我想实现的是listbox中显示的是数据库表中的第一列
并且每个listbox中的数据都绑定该数据在数据库表中第2列的值var TempStr:string;with ADOQuery do
begin
Open;
for i:=0 to RecordCount - 1 do
begin
TempStr:=Fields[1].AsString;
listbox.Items.AddObject(Fields[0].AsString,TObject(TempStr));
next;
end;
Close;
end;这样不行么?什么原因?为什么listbox中的数据能显示出来(Fields[0].AsString)而他们绑定的数据(Fields[1].AsString)确是乱码?
高手帮帮忙吧~~
不考虑其他的控件(比如dblistbox和dblookuplistbox)。
listbox.Items.AddObject('哈哈哈哈哈',TObject(TempStr));双击listbox中的“哈哈哈哈哈”
showmessage(String(listbox.Items.Objects[listbox.ItemIndex]));
运行成功!显示“嘿嘿!”
但是同样方法
TempStr:= ADOQurey.fields[1].asstring;
然后
listbox.Items.AddObject('哈哈哈哈哈',TObject(TempStr));
双击以后不会显示数据,却出现了乱码,这是什么原因阿???我想实现的是listbox中显示的是数据库表中的第一列
并且每个listbox中的数据都绑定该数据在数据库表中第2列的值var TempStr:string;with ADOQuery do
begin
Open;
for i:=0 to RecordCount - 1 do
begin
TempStr:=Fields[1].AsString;
listbox.Items.AddObject(Fields[0].AsString,TObject(TempStr));
next;
end;
Close;
end;这样不行么?什么原因?为什么listbox中的数据能显示出来(Fields[0].AsString)而他们绑定的数据(Fields[1].AsString)确是乱码?
高手帮帮忙吧~~
不考虑其他的控件(比如dblistbox和dblookuplistbox)。
解决方案 »
- 请问是否可以在OnKeyPress检测到Delete按键?
- 怎么样设置socket的服务器端的接收端口和发送端口以及客户端怎么连接
- 怎么实现窗体的不同形式的分布??
- 今天买了台电脑--终于有自己的电脑了!高兴啊!
- Delphi中如何实现GIF图形的缩放和拖拽?就象ACDsee 32一样?
- 请问哪儿有tb97ctls.duc文件??????
- 在MDI的客户区内能否实现网页功能?或网页显示?
- 散分,我就不信重赏之下没有勇夫。
- tquery 为什么在sql属性写入语句后,点击active为真时,为何出现错误提示?
- 记录删除(简单问题,先解决者有分)
- 请教:XML创建问题!谢谢
- Delphi 初学者!!!
ADOQuery.close;
ADOQuery.SQL.Text:='Select * From Table1';
ADOQuery.Open;
While not ADOQuery.Eof do
begin
ListBox.Items.Add(ADOQuery.FieldByName('字段名').AsString;)//字段名写你要显示在ListBox中的那个字段
ADOQuery.Next;
end;
不就行了.
不是
listbox.items.add是一个参数我要一个绑定数据的listbox啊~
ADOQuery.SQL.Text:='Select * From Table1';
ADOQuery.Open;
While not ADOQuery.Eof do
begin
ListBox.Items.Add(ADOQuery.FieldByName('字段名').AsString;)//字段名写你要显示在ListBox中的那个字段
ADOQuery.Next;
end;
不就行了.
Listbox.Items.AddObject(String,Object);
其中,Oject是属于全局的,和具体的哪个Item是无关的。所以,你想把附加的一些内容放在object是可取也是不可取。procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: Integer;
obj: TObject;
begin adsTmp.Active := TRUE;
adsTmp.First;
for i:=1 to adsTmp.RecordCount do
begin
obj := adsTmp.FindField('ID');
ListBox1.Items.AddObject(adsTmp['Name'],obj);
//如果取出当前 i 之前的object,你会发现他和当前的是一样的。因为object是全局。
adsTmp.Next;
end;end;所以,思路应该是由obj存储另外一个字段内容对象。procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: Integer;
obj: TStringList;
begin adsTmp.Active := TRUE;
obj := TStringList.Create;//TStringList不能这样初始化,否则创建多次。
adsTmp.First;
for i:=1 to adsTmp.RecordCount do
begin
obj.Add(adsTmp['ID']);
ListBox1.Items.AddObject(adsTmp['Name'],obj);
adsTmp.Next;
end;end;procedure TForm1.ListBox1Click(Sender: TObject);
var
obj: TStringList;
begin obj := TStringList(ListBox1.Items.Objects[ListBox1.ItemIndex]);
showmessage(obj[ListBox1.ItemIndex]);end;