var ListItem:TListITem;begin ListItem:=ListView.Items.Add; ListItem.Caption:=ds.FieldByName('Field1').AsString; ListItem.SubItems.Add(ds.FieldByName('Field2').AsString); if ds.FieldByName('field3').IsNull then ListItem.Checked:=true;
if ADOQuery1.FieldByName('Field1').isnull then listview.checked[listview.Items.indexof(ADOQuery1.FieldByName('Field1').asString)]:=false;
反了。应该是: if ds.FieldByName('field3').IsNull then ListItem.Checked:=false;
我要向listview写多行,就不行了
var ListItem:TListITem; begin ds.First; for i:=0 to ds.RecordCount-1 do begin ListItem:=ListView1.Items.Add; ListItem.Caption:=ds.FieldByName('Field1').AsString; ListItem.SubItems.Add(ds.FieldByName('Field2').AsString); if ds.FieldByName('field3').IsNull then ListItem.Checked:=false else ListItem.Checked:=true; ds.Next; end;
建议: if ds.FieldByName('field3').IsNull then ListItem.Checked:=false else ListItem.Checked:=true; 改为: ListItem.Checked:= Not ds.FieldByName('field3').IsNull;
if ds.FieldByName('field3').IsNull then ListItem.Checked:=false else ListItem.Checked:=true;
ListItem:TListITem;begin
ListItem:=ListView.Items.Add;
ListItem.Caption:=ds.FieldByName('Field1').AsString;
ListItem.SubItems.Add(ds.FieldByName('Field2').AsString);
if ds.FieldByName('field3').IsNull then
ListItem.Checked:=true;
listview.checked[listview.Items.indexof(ADOQuery1.FieldByName('Field1').asString)]:=false;
if ds.FieldByName('field3').IsNull then
ListItem.Checked:=false;
ListItem:TListITem;
begin
ds.First;
for i:=0 to ds.RecordCount-1 do
begin
ListItem:=ListView1.Items.Add;
ListItem.Caption:=ds.FieldByName('Field1').AsString;
ListItem.SubItems.Add(ds.FieldByName('Field2').AsString);
if ds.FieldByName('field3').IsNull then
ListItem.Checked:=false
else
ListItem.Checked:=true;
ds.Next;
end;
if ds.FieldByName('field3').IsNull then
ListItem.Checked:=false
else
ListItem.Checked:=true;
改为:
ListItem.Checked:= Not ds.FieldByName('field3').IsNull;
ListItem.Checked:=false
else
ListItem.Checked:=true;