XE10.3.3 +cxDBTreeList
設計的業務:我是做一個給指定角色 指定 顯示選單的功能。將選中的選單項寫入資料庫中。
MenuTree :=TcxDBTreeList ;
我在MenuTree 的OptionsView->CheckGroups設定了 True
MenuTree.ondblClick 事件中
procedure TfrmDesignRole.MenuTreeDblClick(Sender: TObject);
begin
inherited;
MenuTree.FocusedNode.Checked := not MenuTree.FocusedNode.Checked;
Menutree.FocusedNode.Selected:= MenuTree.FocusedNode.Checked;
end;
在save程序中執行如下程序
for i := 0 to MenuTree.SelectionCount -1 do
begin
.... ...
//將回圈到的資料寫入資料庫中
end ;
發現selecttioncount 與我勾選的條目數不一致.
我明明雙擊選擇了5行 保存的時候只保存進一條記錄
我在MenuTree.ondblClick 事件中 指定了雙擊行的Checked為True 就算一個selected 嗎? 請各位給指點一下
uj5u.com熱心網友回復:
每次寫入的那一行都是我最后雙擊的那一行,MenuTree.OptionsSelection->CellSelect、HideFocusRect、HideSelection、InvertSelect、MultiSelect 的值都設定的 True
uj5u.com熱心網友回復:
沒有用過你的cxDBTreeList控制元件,不知道它是如何定義Selection你可以測驗一下:
iCheckedNodeCount:=0;
for i:=0 to MenuTree.NodeCount-1 do
if MenuTree.Nodes[i].Checked then
INC(iCheckedNodeCount);
Application.MessageBox(PChar('總共有:'+IntToStr(iCheckedNodeCount)+'個節點被選中!'),'系統提示');
這樣你就可以知道你用的SelectionCount屬性是否正確
//代碼未經上機測驗,樓主上機應該稍作修改
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/258575.html
標籤:數據庫相關