标签: gridpanel

使用Ext.define()扩展网格面板时如何添加行双击事件侦听器?

我正在使用Ext.define()(Ext v4)扩展GridPanel.

双击网格行时,我需要获取行数据.此时我甚至无法让事件监听器工作:

Ext.define('Application.usersGrid', {
extend: 'Ext.grid.GridPanel',
alias: 'widget.usersgrid',


viewConfig: {
    listeners: {
        dblclick: function(dataview, index, item, e) {
            alert('dblclick');
        }
    }
},
...
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

如果有人需要答案 - 这是正确的方法:

Ext.define('Application.usersGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.usersgrid',


viewConfig: {
    listeners: {
        itemdblclick: function(dataview, record, item, index, e) {
            alert('itemdblclick');
        }
    }
},
...
Run Code Online (Sandbox Code Playgroud)

http://dev.sencha.com/new/ext-js/4-0/api/Ext.grid.GridView#event-itemdblclick

javascript extjs gridpanel extjs4

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

JavaFX - 获取GridPane以适合父级

我有一个简单的GridPane显示了几个标签和一个按钮,但我似乎无法让它适合父StackPane.我将如何前进并制作它以填充它所在的任何容器?

    GridPane g = new GridPane();
    g.add(new Label("Categories"),0,0);
    g.add(new Label("Content"),1,0);        
    Button newCat = new Button("New Category");
    newCat.setOnAction(new EventHandler<ActionEvent>() {
        @Override public void handle(ActionEvent e) {
            System.out.println("Clicked");
        }
    });       
    g.add(newCat,0,1);
    g.setGridLinesVisible(true);
    StackPane root = new StackPane();
    root.getChildren().add(g);        
    Scene scene = new Scene(root, 300, 250);  
    primaryStage.setScene(scene);
    primaryStage.show();
Run Code Online (Sandbox Code Playgroud)

UI真的不是我的强项,任何帮助将不胜感激.

java user-interface resize gridpanel javafx-2

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

使用Ext.create在ExtJS 4 GridPanel列中渲染动态组件

我有一个ExtJS(4.0.7)GridPanel,我正在从商店中填充.我在GridPanel列中显示的值需要具有不同的视图,具体取决于记录中的数据类型.

最终目标是记录的type属性具有"双"或"整数"值的记录向用户提供他们可以调整的滑块,而一种"字符串"只是呈现一些只读文本.

我已经创建了一个自定义列来执行此操作.它检查渲染器中的类型并确定要渲染的内容.

我已经使用下面的代码使"字符串"正常工作,但是我在如何动态创建和渲染列中更复杂的滑块控件方面苦苦挣扎.

这个简化的例子只是试图在其中呈现一个Panel日期控件,好像我可以做到这一点,我可以弄清楚滑块的其余部分.

Ext.define('MyApp.view.MyColumn', {
    extend: 'Ext.grid.column.Column',
    alias: ['widget.mycolumn'],

    stringTemplate: new Ext.XTemplate('code to render {name} for string items'),

    constructor: function(cfg){
        var me = this;
        me.callParent(arguments);

        me.renderer = function(value, p, record) {
            var data = Ext.apply({}, record.data, record.getAssociatedData());

            if (data.type == "string") {
                return me.renderStringFilter(data);
            } else if (data.type == "double" || data.type == "integer") {
                return me.renderNumericFilter(data);
            } else {
                log("Unknown data.type", data);

        };
    },

    renderStringFilter: function(data) {
        // this works great and does …
Run Code Online (Sandbox Code Playgroud)

javascript extjs dynamic gridpanel

15
推荐指数
2
解决办法
4万
查看次数

javafx GridPane检索特定的Cell内容

我想检索Gridpane中一个特定单元格的内容.我把按钮放在了细胞中

setConstraints(btt , 0 ,1 ) 

setConstraints(btt , 0 ,2 )

getChildren().add....
Run Code Online (Sandbox Code Playgroud)

在我的情况下,这GridPane.getChildren.get(10)是不好的.我想直接进入单元格(4,2)并获取其内容.

javafx cell gridpanel

14
推荐指数
2
解决办法
2万
查看次数

你如何在MVC模式中包含UX类?

在MVC模式之前,我将简单地通过将其包含在JS的顶部来包含UX类,之后Ext.onReady:

Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'extjs/examples/ux');
Ext.require([
    'Ext.ux.grid.FiltersFeature'
]);
Run Code Online (Sandbox Code Playgroud)

现在我正在使用MVC模式,我有一个需要使用相同功能的网格面板.我在视图中包含了一个require语句,如下所示:

Ext.define('ST.view.StudentLog', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.studentlog',
    requires: [
        'Ext.ux.grid.FiltersFeature'
    ],
Run Code Online (Sandbox Code Playgroud)

但该应用程序首次开始加载时会产生404错误.

有任何想法吗?

编辑:

我已经尝试在视图的顶部放置相同的代码块也无济于事(参考Ext.Loader.setConfig / .setPath块).

extjs/src/ux/无论我如何尝试告诉它,加载器都会继续尝试加载UX类.根据这个建议,我也尝试在我的应用程序控制器中定义一个路径属性,但它看起来像回答者在后面看到的那样在4.1 rc3中不存在,因为我找不到它而它没有工作.

如果我只是在带有<script>标记的HTML中将FilterFeature.js添加为导入的源文件,那么当我的应用程序启动时,它的所有依赖项都会出现404错误.

必须有一种简单的方法可以直接从UX文件夹中将UX类包含在应用程序中,以便它可以链接到其他UX依赖项.

extjs gridpanel

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

JavaFx GridPane - 如何集中元素

我有一个GridPane1个字母的标签.

这是一张图片:

图片http://s1.directupload.net/images/121010/xu8o79sr.jpg

这是代码:

int charSpacing = 1;
int charsInWidth = 28;
int charsInHeight = 16;

double charWidth = 15;
double charHeight = 20;

GridPane gp = new GridPane();
gp.setAlignment(Pos.CENTER);

Label[] tmp = new Label[charsInHeight*charsInWidth];

String text = "W";
int currArrPos = 0;

for(int y = 0; y < charsInHeight; y++) {
    HBox hbox = new HBox(charSpacing);

    for(int x = 0; x < charsInWidth; x++) {
        tmp[currArrPos] = new Label(text);
        tmp[currArrPos].setTextFill(Paint.valueOf("white"));

        tmp[currArrPos].setMinHeight(charHeight);
        tmp[currArrPos].setMinWidth(charWidth);
        tmp[currArrPos].setMaxHeight(charHeight);
        tmp[currArrPos].setMaxWidth(charWidth);

        tmp[currArrPos].setStyle("-fx-border-color: white;");
        hbox.getChildren().add(tmp[currArrPos++]); …
Run Code Online (Sandbox Code Playgroud)

java user-interface positioning gridpanel javafx-2

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

如何根据严重性更改数据网格中的行颜色?

如何根据严重性条件更改数据网格中的行颜色?我是这个EXTJS主题的​​新手.我曾经读过阅读,存储到存储和编写器来编写数据.将所有数据提取到网格后,如何根据严重性条件更改数据网格中的行颜色?你可以用代码工作来解释我吗?

gridview extjs gridpanel

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

使用ExtJS创建动态网格

我正在尝试创建一个动态网格类(我不知道有关列的任何信息,但它们是从json响应中给出的,并且网格相应地准备自己).在这里,我找到了我正在寻找的东西,但它给了我一个错误:

me.model is undefined
me.setProxy(me.proxy || me.model.getProxy());
ext-all-debug.js (line 47323)
Run Code Online (Sandbox Code Playgroud)

我试图添加代理和模型,但我没有成功,我一直得到同样的错误.

这是我正在研究的ExtJS代码:

 // ExtJS 4.1
 Ext.Loader.setConfig({
     enabled: true
 });
 Ext.Loader.setPath('Ext.ux', '../extjs-4.1.0/examples/ux');
 Ext.require([
     'Ext.grid.*',
     'Ext.data.*', ]);


 Ext.define('DynamicGrid', {
     extend: 'Ext.grid.GridPanel',
     storeUrl: '',
     enableColumnHide: true,
     initComponent: function () {
         var store = new Ext.data.Store({
             url: this.storeUrl,
             reader: new Ext.data.JsonReader(),
             autoLoad: true,
             scope: this,
             listeners: {
                 scope: this,
                 metachange: function (store, meta) {
                     if (typeof (store.reader.jsonData.columns) === 'object') {
                         var columns = [];
                         /**
                          * Adding RowNumberer or setting selection model …
Run Code Online (Sandbox Code Playgroud)

javascript extjs gridpanel extjs4 extjs4.1

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

ExtJS GridPanel中的服务器端排序

我有一个分页的GridPanel,不知道如何添加服务器端排序.我是否为sortChange()事件添加了一个监听器?我会覆盖它吗?或者是否有另一个我应该合作的事件.

任何帮助,将不胜感激.

sorting extjs server-side gridpanel

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

在extjs中以dyanamically更新记录中的字段

脚本

我想更新具有静态数据存储的网格中特定记录的列数据.这是我的商店:

extend : 'Ext.data.Store',
model  : 'MyModel',
autoLoad:true,
proxy: {
    type: 'ajax',
    url: 'app/data/data.json',
    reader: {
        type: 'json',
        root: 'users'
    }
},
Run Code Online (Sandbox Code Playgroud)

我的data.json

 {
     'users': [{
         QMgrStatus: "active",
         QMgrName: 'R01QN00_LQYV',
         ChannelStatus: 'active',
         ChannelName: 'LQYV.L.CLNT',
         MxConn: 50
     }]
 }
Run Code Online (Sandbox Code Playgroud)

我正在做什么来更新记录:

var grid = Ext.getCmp('MyGrid');
var store = Ext.getStore('Mystore');
store.each(function(record, idx) {
    val = record.get('ChannelName');
    if (val == "LQYV.L.CLNT") {
        record.set('ChannelStatus', 'inactive');

        record.commit();
    }
});
console.log(store);
grid.getView().refresh();
Run Code Online (Sandbox Code Playgroud)

我的问题

我在这里更新记录.它没有反映在我的网格面板中.网格使用相同的旧存储(静态).是静态数据的问题?或者我错过了什么或者出错了?请帮我解决这个问题.非常感谢.

我的编辑

我尝试根据状态对列进行颜色编码.但是,即使我正在更新商店,我总是得到status ="active".

我想在网格中做什么

{
    xtype: 'grid',
    itemId: …
Run Code Online (Sandbox Code Playgroud)

extjs gridpanel extjs4.2

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