小编Cha*_*hau的帖子

C#继承将一个子节点转换为另一个子节点

我有这个简单的结构:1个父母和两个不同的孩子.

public class Parent{}

public class ChildA : Parent{}

public class ChildB : Parent{}
Run Code Online (Sandbox Code Playgroud)

我有一个ChildA类型的对象objA,我想将它转换为ChildB.我天真的做法说:

ChildA objA = new ChildA();

ChildB objB = (ChildB)objA;
Run Code Online (Sandbox Code Playgroud)

但这不是直接可能的 - 为什么?这是因为我需要实现一些功能还是因为我的天真方法是错误的?

此致,卡斯帕

c# inheritance casting

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

Extjs :( TimeField)重置minValue和maxValue

我有一个ExtJS TimeField,我使用setMinValue(...)setMaxValue(...)只向用户显示有效的时间元素.这工作得很好,但是如何重置minValue,maxValue以便用户可以再次看到所有时间元素?

我不想清除该字段,只是再次显示商店中的所有元素.

extjs reset timefield

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

如何在GridPanel上禁用LoadMask

我有一个每隔10秒更新一次的GridPanel.

var refreshEnvironmentsStoreTask = {
    run: function() {
        this.getEnvironmentsStore().load()
    },
    scope: this,
    interval: 10000 //10 second
}
Ext.TaskManager.start(refreshEnvironmentsStoreTask);
Run Code Online (Sandbox Code Playgroud)

由于频繁更新网格出现闪烁.我想禁用LoadMask但下一个代码不起作用:

Ext.define('MyGrid' ,{
    extend: 'Ext.grid.Panel',
    store : 'Environments',
    viewConfig: {
        loadMask: false
    }
});
Run Code Online (Sandbox Code Playgroud)

extjs gridpanel

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

Ext JS - 获取真正的char类型的问题?

这是我的问题......考虑到这段代码......

'keydown': function (textThis,e) {
    var cc = String.fromCharCode(e.keyCode);
    Ext.MessageBox.alert('Caracter',cc);
}
Run Code Online (Sandbox Code Playgroud)

我总是得到我输入的字符,但大写字母......即使我在减号中键入它......我怎么能解决这个问题?感谢来自阿根廷科尔多瓦的感谢

extjs textfield uppercase

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

C ++捕获枚举值作为异常

我正在尝试使用已将其异常定义为的外部 C++库:

enum MY_ERRORS {
    ERR_NONE = 0,
    ERR_T1,
    ERR_T2,
};
Run Code Online (Sandbox Code Playgroud)

然后在代码中抛出如下异常:

if(...) {
    throw ERR_T1;
Run Code Online (Sandbox Code Playgroud)

作为C ++编程的新手,我会做类似的事情:

try {
    call_to_external_library();
} catch(??? err) {
    printf("An error occurred: %s\n", err);
} catch(...) {
    printf("An unexpected exception occurred.\n");
}
Run Code Online (Sandbox Code Playgroud)

如何确定抛出了什么?

c++ exception-handling shared-libraries

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

使用 Razor Pages 在 Asp.NET Core 2.2 中找不到 ViewComponent

我创建了一个非常简单的视图组件(/ViewComponents/MenuViewComponent.cs):

namespace MySite.ViewComponents
{    
    public class MenuViewComponent : ViewComponent
    {
        public Task<IViewComponentResult> InvokeAsync()
        {
            return Task.FromResult((IViewComponentResult)View("Default"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

视图部分在这里(/Pages/Components/Menu/Default.cshtml):

<div>Menu</div>
Run Code Online (Sandbox Code Playgroud)

我从文件中调用菜单,_Layout.cshtml如下所示:

@await Component.InvokeAsync("MenuViewComponent");
Run Code Online (Sandbox Code Playgroud)

查看页面时,我收到以下错误消息:

InvalidOperationException: A view component named 'MenuViewComponent' could not be found.
A view component must be a public non-abstract class, not contain any generic parameters, 
and either be decorated with 'ViewComponentAttribute' or have a class name ending with the 'ViewComponent' suffix. 
A view component must not be decorated with …
Run Code Online (Sandbox Code Playgroud)

c# razor asp.net-core-viewcomponent asp.net-core-2.2

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

PostgreSQL联合两个表并与第三个表连接

我想与表联合并将它们与第三个元数据表连接起来,我想知道哪种方法最好/最快?
该数据库是PostgreSQL.
以下是我的两个建议,但欢迎其他方法.

在两个表上的union之前进行连接:

SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table1 a, metadata b WHERE a.metadata_id = b.id
UNION ALL
SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM table2 a, metadata b WHERE a.metadata_id = b.id
Run Code Online (Sandbox Code Playgroud)

或者首先进行联合,然后进行联接:

SELECT a.id, a.feature_type, b.datetime, b.file_path
FROM
(
    SELECT id, feature_type, metadata_id FROM table1
    UNION ALL
    SELECT id, feature_type, metadata_id FROM table2
)a, metadata b
WHERE a.metadata_id = b.id
Run Code Online (Sandbox Code Playgroud)

sql postgresql union join query-optimization

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

Extjs4 Combobox还有其他选项

我希望创建一个加载商店的组合框,但也希望在其上添加一些预定义数据.可能吗?

extjs extjs4

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

动态添加项目到边框视口

我想首先创建一个空视口(布局:边框),然后添加项目,最后渲染和显示.但是当我创建了viewport元素时,它会抛出一个错误,说:

未捕获的TypeError:无法读取undefined的属性'flex'

这是我的代码:

<script type="text/javascript" src="ext-4.0.2a/bootstrap.js"></script>
<script>
Ext.require(['*']);
Ext.onReady(function() {
    Ext.QuickTips.init();

    var viewport = Ext.create('Ext.container.Viewport', {
        layout: 'border'
    });

    var north = blablabla...
    viewport.add([north,south]);

    viewport.doLayout();
});
</script>
Run Code Online (Sandbox Code Playgroud)

javascript extjs viewport extjs4

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

ExtJS 4及其新的MVC:grid:如何处理密钥?

我正在寻找一种方法来处理Grid中的键.我密切关注这里的例子:http : //www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-1 http://www.sencha.com/learn/ architecting-your-app-in-ext-js-4-part-2
http://www.sencha.com/learn/the-mvc-application-architecture/

所以现在一切正常,但我想在网格中处理键.

所以我想在声明" this.control({})"我应该添加另一个事件,userlist但似乎Grid没有"keypress"事件.

知道我应该怎么做(而且我应该如何处理新的MVC模式)?

Ext.define('GS.controller.Users', {

    extend: 'Ext.app.Controller',

    models: [
        'User'
    ],

    stores: [
        'Users'
    ],  

    views: [
        'user.List',
        'user.Edit'
    ],  

    init: function () {
        this.control({
            /* (!) Actions in 'userlist' */
            'userlist': {
                selectionchange: this.userListSelectionChange,
                itemdblclick: this.userEdit
            },  
            'userlist button[action=create]': {
                click: this.userCreate
            },  
            'userlist button[action=delete]': {
                click: this.userDelete
            },  
            /* (!) Actions in 'useredit' */
            'useredit button[action=create]': {
                click: this.userCreateValidate
            },  
            'useredit button[action=save]': {
                click: this.userEditValidate
            }   
        }); …
Run Code Online (Sandbox Code Playgroud)

javascript grid extjs extjs4

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