使用dxTreeList或cxTreeList,某列为CheckBox类型,当其父结点选中时,需要更新其下级节点都被选中。 在change时,怎么获得当前的checkbox是true值还是false值呢。我尝试用过该列的change事件,用cxTreeList1.FocusedNode.Values[0]或cxTreeList1.FocusedNode.EditValue,但是其值都是更新之前的值,而不是新值。 只有在edited事件取值才是新的,但是edited事件必须在焦点移开当前编辑点后才能不触发,是不理想的。 在此,向各位大侠求助,急用!
在Check列的OnToggleClick上写以下代码:
procedure TForm1.dxTreeList1Column1ToggleClick(Sender: TObject;
const Text: String; State: TdxCheckBoxState);
begin
if dxTL.FocusedNode.Values[dxTreeList1Column1.Index] = '1' then
dxTL.FocusedNode.Values[dxTreeList1Column1.Index] := '0'
else
dxTL.FocusedNode.Values[dxTreeList1Column1.Index] := '1';
end;
实时更新节点值,再好象就没有什么办法了,可能我还没有找到
回去试试~~