我需要能够编辑treegrid的网格列中的值.简单地在列的配置中添加编辑器没有帮助.我正在使用ExtJs4 treepanel组件.

有任何想法吗?
我有一个简单的dojo treeGrid,它只按第一列分类.但是如何使其分类/折叠呢?请注意,treeGrid在每个类别中都显示了总计.此外,有没有办法将总计移至类别级别但不是底部?
var layout = [
{ cells: [
[ {field: "year", name: "Year"},
{field: "childItems",
children: [ { field: "unid", name: "unid", hidden: true},
{ field: "geography", name: "Geography"},
{ field: "country", name: "Coungtry"},
{ field: "status", name: "Status"},
{ field: "credit", name: "Credit"},
{ field: "debit", name: "Debit"}
],
aggregate: "sum"
}
]] } ]
var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});
var grid = new dojox.grid.TreeGrid({
structure: layout,
store: jsonStore,
query: {type: 'year'},
queryOptions: {deep: true},
rowSelector: …Run Code Online (Sandbox Code Playgroud) 我喜欢使用jqGrid treegrid,但我绝对需要一个功能,即冻结列.是否有任何类似的质量产品支持冷冻柱.我知道jqgrid支持常规网格中的冻结列(但不支持树网格)
我有一个非常大的treeGrid(一个节点中有~2000个元素).当我点击[+]展开它时似乎被冻结了.我想在点击后将鼠标光标状态更改为"等待",但是一旦展开就会改为"默认".假设我可以将它放在onRowClick或onOpen事件中但是什么是onComplete事件我可以重置光标?还有一种方法/属性来查看行是展开还是折叠?我想改变它的风格.
var layout = [
{
cells: [
[
{ field: "userid", name: "User Id" },
{
field: "childItems",
children: [
{ field: "unid", name: "unid" },
{ field: "username", name: "User Name" },
{ field: "budget", name: "Budget" }
],
aggregate: "sum"
}
]
]
}
]
var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});
var grid = new dojox.grid.TreeGrid(
{
structure: layout,
store: jsonStore,
query: { type: 'userid' },
queryOptions: { deep: true },
rowSelector: true,
openAtLevels: [false],
autoWidth: …Run Code Online (Sandbox Code Playgroud) 我需要在使用文件夹的"+"符号扩展它时获取树节点的子记录.如果任何特定节点没有孩子,则"+"符号应该消失.此要求类似于链接中的要求
但有些人如何对我不起作用.只有父节点显示文件夹,子节点不默认为文件夹.以下是我正在使用的代码.我复制了上面链接中的代码.唯一的变化是用树节点替换数据源.
public void onModuleLoad()
{
Tree adminTree = new Tree();
adminTree.setID("adminTreeId");
adminTree.setModelType(TreeModelType.PARENT);
adminTree.setRootValue("/");
adminTree.setAutoOpenRoot(true);
TreeGrid adminTreeGrid = new TreeGrid();
adminTreeGrid.setWidth(500);
adminTreeGrid.setHeight(400);
adminTreeGrid.setShowOpenIcons(false);
adminTreeGrid.setShowDropIcons(false);
//adminTreeGrid.setClosedIconSuffix("");
adminTreeGrid.setAutoFetchData(true);
adminTreeGrid.setData(adminTree);
TreeNode treeNode1 = new TreeNode();
treeNode1.setTitle("Node 1");
treeNode1.setID("node1");
TreeNode treeNode2 = new TreeNode();
treeNode2.setTitle("Node 2");
treeNode2.setID("node2");
TreeNode treeNode3 = new TreeNode();
treeNode3.setTitle("Node 3");
treeNode3.setID("node3");
TreeNode treeNode4 = new TreeNode();
treeNode4.setTitle("Node 4");
treeNode4.setID("node4");
adminTree.add(treeNode1, "/");
adminTree.add(treeNode2, "/");
adminTree.add(treeNode3, treeNode1);
adminTree.add(treeNode4, treeNode2);
adminTreeGrid.draw();
}
"节点1"和"节点2"显示带有"+"符号的文件夹,但"节点3"和"节点4"未显示给出扩展它们的选项.
如果我错过了什么,请帮忙.
谢谢,Vamsi
在星云树网格中,如何添加未真正链接到数据的自定义列?例如:添加、编辑、删除列。我刚刚将它们分配给我的类的属性(参考、城市、地址),但是如果类定义没有“备用”属性怎么办?如何添加额外的列?
在 treegrid.component.ts 中:
nameColumn = 'name';
editColumn = 'ref';
addColumn = 'city';
deleteColumn = 'address';
defaultColumns = [ 'description' ];
allColumns = [ this.nameColumn, ...this.defaultColumns, this.editColumn, this.addColumn, this.deleteColumn ];
headers = ['Name', 'Description', 'Edit', 'Add', 'Delete'];
Run Code Online (Sandbox Code Playgroud)
在 treegrid.component.html 中:
<table [nbTreeGrid]="datasource" [nbSort]="datasource" (sort)="updateSort($event)">
<tr nbTreeGridHeaderRow *nbTreeGridHeaderRowDef="allColumns"></tr>
<tr nbTreeGridRow *nbTreeGridRowDef="let row; columns: allColumns"></tr>
<ng-container [nbTreeGridColumnDef]="nameColumn">
<th nbTreeGridHeaderCell [nbSortHeader]="getSortDirection(nameColumn)" *nbTreeGridHeaderCellDef>
{{headers[0]}}
</th>
<td nbTreeGridCell *nbTreeGridCellDef="let row">
<mybe-fs-icon [children]="row.children" [expanded]="row.expanded"></mybe-fs-icon>
{{row.data[nameColumn]}}
</td>
</ng-container>
<ng-container *ngFor="let column of defaultColumns; let index = index" …Run Code Online (Sandbox Code Playgroud) 我在ma应用程序中使用Jqgrid树视图模型,我可以看到它显示错误,因为不支持对象或属性我已经包含grid.Treeview.js和其他Jqgrid脚本文件.我不知道可能是什么问题.当我在网络中检查示例应用程序的邻接树视图时,我尝试了同样的事情,但在asp.net中使用我没有得到的本地数据.任何人都可以帮助我如何做同样的事情.提前致谢
这是我使用的示例代码,而不是它是否会起作用.
var myTreeGrid = new Ext.us.tree.TreeGrid({
columns: columnsConfig,
rootVisible: false,
root: rootNode,
loader: new Ext.ux.tree.TreeGridLoader({preloadChildren: true})
});
var rootNode = $('#treegridsamp').jqgrid({
treeGrid: true,
treeGridModel: 'adjacecncy',
ExpandColumn: 'name',
datatype: "local",
mtype: 'Get',
colNames: ['id','Name','MenuId','Menu Name'],
colModel: [
{name:'RowId',index:'RowId',width:300,fixed:true},
{name:'Name',index:'Name',width:300,fixed:true},
{name:'MenuId',index:'MenuId',width:300,fixed:true},
{name:'MenuName',index:'MenuName',width:300,fixed:true},
],
root:[
{id:"1",Name:"Main Menu", MenuId:"1",MenuName:"Menu1"},
{id:"2",Name:"Main Menu1",MenuId:"2",MenuName:"Menu2"},
{id:"3",Name:"Main Menu2",MenuId:"3",MenuName:"Menu3"}
],
pager: '#dvtreegridsamp',
Caption: 'Sample Tree View Model'
})
$("#treegridsamp").jqGrid('navGrid', '#dvtreegridsamp',
{ edit: false, add: false, del: false, search: false, refresh: false });
var mydata=[
{id:"1", Name:"Main Menu", MenuId:"1",MenuName:"Menu1"},
{id:"2", …Run Code Online (Sandbox Code Playgroud) 我有一棵很深的树,对于用户来说,很难区分水平.是否可以为每个级别提供自定义css类?例如,首先是h1和粗体,第二个是粗体......
我在"name"列中构建了带嵌入式复选框的treeGrid,例如JSON数据:
{"id":"1","name":"<input type='checkbox' class='itmchk' ><strong>ECHANGEUR<\/strong>","level":"0","parent":"null","isLeaf":false,"expanded":true,"loaded":true}
Run Code Online (Sandbox Code Playgroud)
因为这些复选框跟随树边缘(我希望我很好理解,因为我是法国人).
当我标记/取消标记一行时,我想检查/取消选中子标题复选框,但在阅读后可能会发布帖子,我可以获得预期的结果.
例如说明:如果我单击父行复选框(因此它变为UNCHECKED),则子级别行变为UNCHECKED
我是jqGrid的新手,但它是一个很棒的工具,我想学习属性.请你能以这种方式开车送我吗?或者你能建议我在哪里可以找到我想做的例子吗?我查了一下文档但没有成功.
非常感谢JiheL
我使用 Vaadin 创建了一个包含单个 TreeGrid 的简单 Web 应用程序。TreeGrid 出现了,但没有用于展开或折叠根元素(“Year 2010”或“Year 2011”)的句柄,尽管有子元素。当我使用 expand(..) 方法时,树被展开(如截图所示),但没有图标可以折叠它。在下面的屏幕截图中,“Year 2011”是展开的根节点,其中“Customer Project1”和“Customer Project 2”是子节点。该项目是使用 Maven 构建的,我使用 vaadin-bom 版本 13.0.2 和 vaadin-grid-flow-3.0.3.jar。屏幕截图下方是我使用的代码。我认为问题一定出在方法 createTreeGrid() 中。Vaadin 的工作示例可以在这里找到 Vaadin 示例
那么有人对如何解决这个问题有任何想法吗?任何帮助表示赞赏... :-)
托尔斯滕
package hello;
@Route
public class MainView extends VerticalLayout
{
public MainView()
{
add( createTreeGrid() );
}
private TreeGrid<Project> createTreeGrid()
{
TreeGrid<Project> treeGrid = new TreeGrid<>();
final List<Project> generateProjectsForYears = generateProjectsForYears( 2010, 2016 );
treeGrid.setItems( generateProjectsForYears, Project::getSubProjects );
treeGrid.addColumn( Project::getName ).setHeader( "Project Name" ).setId( "name-column" );
treeGrid.addColumn( Project::getHoursDone ).setHeader( "Hours …Run Code Online (Sandbox Code Playgroud)