我一直在尝试做一个有创意的东西来避免dbgrids,我已经找到了Tlistview (使用来自alphaskins,tslistview的那个),看起来是一个很好的方式!
问题是,我不想在每个tlistview上编写事件onclick,以便根据我在tlistview上选择的项来定位record/dataset。我正在用tlistview item's caption来做这件事..并且可能有同名的记录
下面是我想要避免的代码之一:
with q_find_process do
begin
close;
sql.Clear;
sql.Add('Select * from
我有一个用TListView连接在LiveBindings中的TFDMemTable。我使用FDMemTable (例如,有20条记录)在LoadFromFile中加载数据。
当我从FDMemTable中删除记录时,RecordCount会减少,但是TListView不会刷新,它将继续显示加载到LoadFormFile上的20条记录。
如果使用FDMemTable: i .SaveToFile、.Close和使用.LoadFromFile重新加载,则TListView将显示更改。
如果我是否使用CachedUpdate of FDMemTable,这也是相同的行为。
我试着打电话给TFDMem
我试图在具有TListview属性BiDiMode = bdRightToLeft.的项的左侧显示负号的负号
我试过密码了:
Function TfrmProjets.IfSign(floatValue: double; howMuchDecimalAfterComa:
integer):string;
var
strResult: string;
strZero: string;
i: integer;
begin
strResult := '';
strZero := '';
for i := 0 to howMuchDeci
TListView与样式相关联。此样式包含名为TColorObject的背景。如果你在样式设计器中设置了TColorObject.Color (红色),树形视图就会显示这个颜色。如果在TListView的ApplyStyleLookup事件中以编程方式设置颜色,则背景颜色将保留在样式中设置的颜色(红色)上!
procedure TTest.TreeViewlistApplyStyleLookup(Sender: TObject);
var
co: TColorObject;
begin
co := nil;
if Sender is TListView then co := TListVi
我尝试使用TListView组件来显示相当大的数据列表(比如4000行大),创建列表的速度非常慢--大约需要2-3秒的时间,这使得UI非常滞后,几乎无法使用。
我在一个TListView.Items块中填充BeginUpdate/EndUpdate,只使用预先分配的字符串--我的意思是:我构建了要存储的所有字符串的列表(这不需要人工注意的时间),然后将它们放到TListView中。
我希望在vsReport模式下用几列显示TListView的内容。
代码如下所示:
MyList.Items.BeginUpdate;
for i := 0 to MyCount - 1 do
begin
Li
我有一个程序,它使用TListView可视化和存储一些数据。TListitem的数据属性中充满了指向如下记录的指针:
type
TWatch = record
name : string;
path : string;
//...
end;
procedure TfrmProcessWatcherMain.AddWatchToListView(AWatch: TWatch);
var
ANewWatch : TListItem;
begin
ANewWatch := lvWatches.Items.Add; //lvWatches is TListview
我需要在TListView的列标题中有一个复选框:
我已经尝试了以下代码:
with CheckBox1 do
begin
Parent := ListView1;
Top := 0;
Left := 4;
end;
但是复选框并不总是像预期的那样工作。如何在TListView标题栏中正确创建复选框?
我在使用TlistView组件中的OnDrawItem事件来使用自定义颜色绘制内容,但是当滚动列表视图时,会出现一些工件。
这是使用的代码。
procedure TForm35.FormCreate(Sender: TObject);
var
i, j : integer;
Item : TListItem;
s : string;
begin
for i:= 0 to 99 do
begin
Item:=ListView1.Items.Add;
for j:= 0 to ListView1.Columns.Count-1 do
begin