标签: treeview

ExtJS:向TreePanel中的节点添加单击操作

[修改]我在ExtJs中创建一个TreePanel,它从JSON文件中加载它的子节点.我在向节点添加点击操作时遇到问题.我不确定它是否在创建树的脚本中添加,或者它是否作为JSON中的属性添加,如果是,则语法是什么.任何帮助,将不胜感激!如果可能,请提供一个示例.

treeview extjs

1
推荐指数
1
解决办法
3万
查看次数

不同级别的WPF树视图的样式不同?

我有一个非常扁平结构的树视图,只有两个级别的项目 - 主要项目和一个子项目级别.我正在使用WPF MVVM,并希望以不同的方式设置两个级别的样式,但不知道如何.

我将树视图绑定到我的ViewModel中的ObservableCollection,并且每个元素还有一个ObservableCollection用于下一个级别.

有帮助吗?

wpf treeview styling mvvm

1
推荐指数
1
解决办法
1725
查看次数

更改treeview的节点

我有一个如下所示的树视图
我使用c#进行winform编程

  1. 监控
    • LG
    • 三星
    • 生命值
  2. 键盘
    • 生命值
    • 戴尔
      • 黑色
      • 白色
  3. 老鼠

所以你能告诉我如何在这个例子中以编程方式改变第一和第二节点的位置.

c# treeview winforms

1
推荐指数
1
解决办法
9000
查看次数

在TreeNodes上定位气球工具提示

我想将添加ToolTipTreeView节点,使气球出现在鼠标坐标:

private void treeView1_MouseMove(object sender, MouseEventArgs e)
{
    node = treeView1.getNodeAt(e.X, e.Y);
    toolTip1 = new ToolTip();
    toolTip1.IsBalloon = true;
    toolTip1.InitialDelay = 500;
    toolTip1.SetToolTip(treeView1, node.Text);
}
Run Code Online (Sandbox Code Playgroud)

问题是,ToolTip分配给TreeView,而不是TreeNode,并且气球的位置是非常奇怪的 - 不是在预期的鼠标坐标,而是在某处treeView1.

我试图使用,toolTip1.Show()InitialDelay财产被忽略.

如何将气球ToolTip放在a上TreeNode并延迟显示?

c# treeview tooltip winforms

1
推荐指数
1
解决办法
3505
查看次数

了解如何在Delphi 7中多选TTreeView项目

可有一个人给我解释一下,怎么样MultiSelectStyle,SelectedSelected.Count性能适用于TTreeView在Delphi 7?我已经离开德尔福编码多年,除非有人指出我,我错过了什么,我认为这背后绝对没有逻辑.

到了这一点.我有一个例程,填充TTreeView所选文件夹的内容.它使用recurence,因此每个文件夹都表示为带子项的节点 - 它是子文件夹和文件.用户可以在树上选择多个项目,因为MultiSelect设置为True.在MultiSelectStyle小组中我也设置了所有四个子属性True(也许这是一个错误).

作为我的程序的调试(完全相反,我希望)我有这个代码:

ShowMessage(IntToStr(tvShell.Selected.Count) + ' selected');

for i := 0 to (tvShell.Selected.Count - 1) do
begin
    ShowMessage(tvShell.Selected.Item[i].Text);
end;
Run Code Online (Sandbox Code Playgroud)

所以我运行我的程序并选择任何文件夹.树渲染,我看到:

  • 根节点,所选文件夹的完整路径为Text六个子节点,因为所选文件夹包含六个子文件夹而没有文件,
  • 这六个子文件夹只包含文件,因此根节点的六个子节点包含相当数量的子节点,例如 - 第一个包含44个(文件或项目),最后包含9个(项目或文件).

使用Ctrl和鼠标,我选择第一个(44个文件)和最后一个(9个文件)树节点(根节点的子节点)并点击执行上述调试代码的按钮.

示例树内容

我期待什么?我看到两个项目被选中.由于msVisibleOnly被设置为TrueMultiSelectStyle,我希望有tvShell.Selected.Count设置2,看到三个消息.

我能得到什么?第一条消息说我有...... 选择了九个项目,当我继续时,我会收到另外九条消息,向我显示最后一个文件夹(树儿童)的内容.最有趣的部分是,tvShell.Selected 没有那两个的迹象,实际上是我选择的!WTF?

无意义继续......

我重复所有这些步骤,但这次我选择(点击)最后一个文件夹(子项)并Ctrl按下按钮,我点击第一个文件夹(root的子项).作为一个人,我再次看到,我选择了两个项目.当看到这棵树时,我在视觉上看到选择没有区别.但德尔福确实如此.

在执行调试代码时,这次我得到的信息是有 …

delphi treeview delphi-7 multi-select

1
推荐指数
1
解决办法
3020
查看次数

仅当treeview具有绑定到它的项目时,如何使controltemplate中的控件可见

所以我有这个控制模板,我想要signalnamepanel(只是一个时间标签,我将在它旁边添加一个x轴)只有当项目绑定到Treeview时才会显示.

否则它看起来会很奇怪,因为namepanel会自动浮动.我猜我需要使用某种类型的触发器,但我不确定我会触发什么.

<Style x:Key="{x:Type TreeView}" TargetType="TreeView">
      <Setter Property="OverridesDefaultStyle" Value="True" />
      <Setter Property="SnapsToDevicePixels" Value="True" />
      <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
      <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="TreeView">

              <ScrollViewer 
                Focusable="False"
                CanContentScroll="False"
                Padding="4">
                <StackPanel>
                  <Grid>
                    <Grid.ColumnDefinitions>
                      <ColumnDefinition Width="19" />
                      <ColumnDefinition Width="*" />
                      <ColumnDefinition Width="{Binding ElementName=graph_viewer, Path=signal_graph_window_width, Mode=OneWay}" />
                    </Grid.ColumnDefinitions>
                    <wpfExp:SignalNamePanel Grid.Column="1"
                      Height="{Binding ElementName=graph_viewer, Path=GraphHeight, Mode=OneWay}"
                      MainText="Time" 
                    />
                    <wpfExp:SignalGraphAxis Grid.Column="2"
                      Height="{Binding ElementName=graph_viewer, Path=GraphHeight, Mode=OneWay}"                
                      PenWidth="{Binding ElementName=graph_viewer, Path=GraphPenWidth, Mode=OneWay}"
                      X_Scale="{Binding ElementName=graph_viewer, Path=X_Scale, Mode=OneWay}"
                      MaxTimeValue="{Binding ElementName=graph_viewer, Path=_SignalDataViewModel.MaxTimeValue, Mode=OneWay}"
                    />
                  </Grid>

                  <ItemsPresenter/>
                </StackPanel>
              </ScrollViewer>
            <ControlTemplate.Triggers>
              <Trigger Property="IsMouseOver"
                                   Value="True"> …
Run Code Online (Sandbox Code Playgroud)

wpf treeview xaml triggers controltemplate

1
推荐指数
1
解决办法
1390
查看次数

如何遍历treeView控件的所有节点.C#

我正在选择我所拥有的所有控件 form

如果是控件Treeviews,我将迭代他们拥有的所有节点

我需要类似的东西:(这是我的代码)

foreach (Control c in PanelSM.Controls)
{
    if (c is TreeView) 
    {    
        TreeNodeCollection myNodes = c.Nodes;//<<<<< Here is a mistake
        foreach (TreeNode n in myNodes)
        {
            String text = rm.GetString(n.Name);
            //And more things
            //...
            //...
            //...
       }
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

谢谢

c# treeview loops nodes

1
推荐指数
3
解决办法
3万
查看次数

隐藏odoo树视图中的一些行

我试图根据特定的标志隐藏树视图中的一些行,这是我的树视图的xml代码:

<record model='ir.ui.view' id='my_object_tree'>
    <field name="name">my_object.tree</field>
    <field name="model">my_object</field>
    <field name="arch" type="xml" >
        <tree string="title" attrs="{'invisible': [('my_flag','=',False)]}">
            <field name="name"/>
            <field name="my_flag"/>
        </tree>
    </field>
</record>
Run Code Online (Sandbox Code Playgroud)

但似乎"隐形"在这里不起作用,我可以隐藏所有字段,但在这种情况下,空行将出现在树视图中.还有其他解决方案吗?

python xml treeview openerp

1
推荐指数
1
解决办法
3580
查看次数

Python tkinter treeview获取/返回所选项的父名称

我试图在选择事件时返回tkinter树视图选择的父级,所以如果选择更改为"child",我希望它打印"parent",下面的工作示例,目前它打印选择,而不是父级选择:

try:
    import tkinter as tk
    import tkinter.ttk as ttk
except ImportError:
    import Tkinter as tk
    import ttk

class App:
    def __init__(self):
        self.root = tk.Tk()
        self.tree = ttk.Treeview(selectmode='browse')
        self.tree.pack(side="top", fill="both")
        self.tree.bind('<<TreeviewSelect>>', self.tree_select_event)
        self.parent_iid = self.tree.insert("", "end", text="Parent")
        self.child_iid = self.tree.insert(self.parent_iid, "end", text="Child")

        self.root.mainloop()

    def tree_select_event(self, event):
        print (self.tree.item(self.tree.selection()[0])['text'])

if __name__ == "__main__":
    app = App()
Run Code Online (Sandbox Code Playgroud)

目前在选择Child时打印:

"Child"
Run Code Online (Sandbox Code Playgroud)

选择孩子时所需的输出:

"Parent"
Run Code Online (Sandbox Code Playgroud)

python treeview tkinter

1
推荐指数
1
解决办法
3086
查看次数

Tkinter,treeview不会调整大小

当我调整窗口高度时,如何调整树视图大小?我尝试设置sticky="sn",我试图打包树视图fill='y',但没有任何效果.

import tkinter as tk
from tkinter.ttk import Treeview

root = tk.Tk()

f1 = tk.Frame(root)
f2 = tk.Frame(root)

f1.grid(column=0, row=0, sticky="s")
f2.grid(column=1, row=0, sticky="n")
root.rowconfigure(0, weight=1)

Treeview(f1).pack()
tk.Button(f2, text="DAT BUTTON IS IN F2").pack()
tk.Button(f2, text="DAT BUTTON IS IN F2").pack()
tk.Button(f2, text="DAT BUTTON IS IN F2").pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

treeview tkinter python-3.x

1
推荐指数
1
解决办法
2574
查看次数