我有一个填充的tcxtreelist,其中所有根节点(任何设置为0级的节点)都是更多所需信息的父节点。我遇到的问题是文本被用于子节点的列剪切。
我希望能够让根节点(LSite.Name)中的文本跨越所有列的长度,基本上我想删除剪辑。但是我希望子节点默认工作。
这是怎么做到的?
编辑:已添加代码
LSite : TSiteList;
i : Integer;
LNode : TcxTreeListNode;
// variables used are above
for i := 0 to FSiteList.Count - 1 do
begin
LSite := TSiteList(FSiteList.Items[i]);then
LNode := TreeTypes.Add;
LNode.Values[0] := LSite.Name;
LNode.Data := LSite; // this is is location name built up from a database which populates FSiteList(Object list)
end
这是填充根节点的方式。成千上万的记录包含其他地方使用的一些信息,但关于列表我所关心的是所有列中的名称。
儿童节点:
LOffer : TOfferList;
i : Integer;
LNode, LSiteNode : TcxTreeListNode;
begin
LSiteNode := TreeTypes.FocusedNode;
for i := 0 to FOfferList.Count - 1 do
begin
LOffer := TOfferList(FOfferList.Items[i]);
LNode := LSiteNode.AddChild;
LNode.Values[1] := Trim(FOfferList.Items[i].InstName + ' ' + FOfferList.Items[i].SoftName);
LNode.Values[2] := Trim(FOfferList.Items[i].SerialNumber + ' ' + FOfferList.Items[i].ActivateNum);
LNode.Values[3] := Trim(FOfferList.Items[i].OfferNum);
LNode.Data := LOffer;
end;
end;
仅在单击站点时填充子节点。然后,这将显示所述站点存在的所有商品。再次提供清单是一个对象清单
我参与了自定义绘制活动,但我不知道要查看哪些选项。
在自定义绘图中测试 - OnCustomDrawDataCell:
AViewInfo.EditViewInfo.TextColor := clBlack;
AViewInfo.BoundsRect.Width := 200;
//AViewInfo.ContentRect.Width := 200;
AViewInfo.EditViewInfo.Paint(ACanvas);
ADone := True;
所有这些似乎都是将所有节点聚集到网格的最左侧,并将所有列放在彼此的顶部,同时仍然不增加根节点文本列的宽度。
TLDR: 我希望能够将列[0]中的文本设置为不剪辑,而是继续进入其他列或覆盖其他列。对于已由数据库和对象列表填充的tcxtreelist。
正如您所看到的那样,“公司”正在被剪切,我希望根节点只在需要时继续在所有列中显示其文本。这样我可以更好地理清其他列的宽度,以尝试获得所需的视图。