我想做个和类似用友科目的treeview常用
资产-
|-101 现金
|-102 银行存款
:
:
|-109 其他货币资金负债
损益-
|-501 产品销售收入
|-502 产品销售成本
:
:
|-550 所得税表: cclass ccode ccode_name
资产 101 现金
资产 102 银行存款
资产 109 其他货币资金
损益 501 产品销售收入
损益 502 产品销售成本
损益 550 所得税怎么实现啊? 请大侠指教!
资产-
|-101 现金
|-102 银行存款
:
:
|-109 其他货币资金负债
损益-
|-501 产品销售收入
|-502 产品销售成本
:
:
|-550 所得税表: cclass ccode ccode_name
资产 101 现金
资产 102 银行存款
资产 109 其他货币资金
损益 501 产品销售收入
损益 502 产品销售成本
损益 550 所得税怎么实现啊? 请大侠指教!
解决方案 »
- idhttp 网页附件上传问题
- 如何显示virtualStringTree的标题???
- 使用AVICAP32.DLL来捕获摄像头的图像并保存到数据中,捕完后如何关闭那个黑块的窗体呀???
- 请教高手,一个关于检测网卡流量的问题
- 这个问题已困惑我几天啦,均没人帮我解决真的好盼望呀!!(ADOStoredProc1.Parameters)
- 小小即将生日之际,中国软件技术大会开幕之时,祝小小与百合共创美好未来!
- 一个有趣的问题,图形高手,思想开拓者,请进!!高分相送!!急!!!
- 怎么把INI中的内容读到memo中呢
- 求救!!!一个非常简单的问题!!
- 谁会用DELPHI编写WIN 2000中隐藏进程的程序?请帮帮我!快急死了!!!
- 请问,到那里可以下载到Mysql数据库安装程序?(在线)
- RichEdit.LoadFromFile打开的文件显示乱码问题。
function StrLeft(const mStr: string; mDelimiter: string): string;
begin
Result := Copy(mStr, 1, Pos(mDelimiter, mStr) - 1);
end; { StrLeft }function StrRight(const mStr: string; mDelimiter: string): string;
begin
if Pos(mDelimiter, mStr) <= 0 then
Result := ''
else Result := Copy(mStr, Pos(mDelimiter, mStr) + Length(mDelimiter), MaxInt);
end; { StrRight }procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
vTreeNode: TTreeNode;
begin
ADOQuery2.Open;
ADOQuery2.First;
TreeView1.Items.Clear; while not ADOQuery2.Eof do begin
vTreeNode := nil;
for I := 0 to TreeView1.Items.Count - 1 do begin
if (Pos(StrLeft(TreeView1.Items[I].Text, #32),
ADOQuery2.FieldByName('ccode').AsString) = 1) then begin
vTreeNode := TreeView1.Items[I];
end;
end;
TreeView1.Items.AddChild(vTreeNode,
ADOQuery2.FieldByName('ccode').AsString + #32 +
ADOQuery2.FieldByName('ccode_name').AsString);
ADOQuery2.Next;
end; for I := 0 to TreeView1.Items.Count - 1 do
TreeView1.Items[I].Text := StrRight(TreeView1.Items[I].Text, #32);end;
资产 1
负债 5
现金 101
所得税 505
xxx 10101
yyy 50505
等等,如此,你只要找到
资产--现金--xxx
负债--所得税--yyy
这样树就出来了
考虑到速度,可以在相关项目展开时候再添加
昨天刚小弄的一个控件,有源码,