小编Mas*_*r_T的帖子

为什么R中的这个简单循环如此缓慢?

我是R的初学者,我写了这个简单的循环:

for(i in 1:12000){
    if(v$piano.tariff[i] == 2) {v$piano.tariff[i] = 0}
    else {v$piano.tariff[i] = 1}
}
Run Code Online (Sandbox Code Playgroud)

其中v是数据框,piano.tariff是其中一列.循环的作用是简单地将piano.tariff列的每个值从其initiali值2和5更改为1或0.

现在,代码可以工作,但问题是它的速度非常慢. 完成需要4-5分钟!在C++ o C#这样的循环几乎不需要几秒钟.

为什么这么慢?有更快的方法来实现这个吗?或者只是R很慢,那就是它?

for-loop r

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

Windows Forms 表单看起来不是原生的

我已经向VB.net应用程序添加了一个 Windows 窗体窗体,并以通常的方式显示它:

Dim form As New FormInsCapiLettore()
form.ShowDialog()
Run Code Online (Sandbox Code Playgroud)

问题是该窗体在显示时具有非常丑陋的“windows 95”样式。基本上系统主题(在我的例子中是 Windows 10)没有得到应用。结果在下面的屏幕截图中:

在此处输入图片说明

正如您所看到的,它不仅看起来丑陋和非原生,而且布局也搞砸了:注意TextBox“输入”之外的溢出GroupBox和“精细”Button没有填充垂直空间。请注意,该表单在 Visual Studio 设计器中看起来非常好,具有原生外观!但是当启动时,表单没有主题,看起来像屏幕截图。

有什么线索吗?附加信息:运行针对 .NET 4.0 编译的 Windows 10 x64 Visual Studio 2015 应用程序

vb.net forms winforms

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

Wicket:提交表单后运行JavaScript

我正在使用Wicket 6.xx,并且有一个Form用来上传一些文件的Wicket 。这不是问题。问题是,提交表单后,我需要在页面上运行一些JavaScript才能显示基于JavaScript的模式弹出窗口。

但是,我不能这样做,因为我没有AjaxRequestTarget对象,因为表单提交不是Ajax调用。或者至少,我猜这就是原因。我试过以下方法,取自另一个线程,但不起作用:

From<RequestInfo> uploadFrm = new Form<RequestInfo>("uploadFrm", getModel()) {
    private static final long serialVersionUID = 1L;

    @Override
    protected void onSubmit() {
        AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
        target.appendJavascript("..."); //NullPointerException: target is always null
    }
};
Run Code Online (Sandbox Code Playgroud)

从您在我的评论中可以看出,target总是null

在这种情况下运行某些JavaScript的正确方法是什么?有没有适当的方法?

javascript java wicket wicket-6

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

Wicket:隐藏组件而不必添加所有子组件

我一直在Wicket做一个项目,我经常发现自己陷入了困境.假设我有一个标记,我只在某些条件适用时显示,如下例所示:

<div wicket:id="myContainer">
    <div wicket:id="label1"></div>
    <div wicket:id="label2"></div>
    <div wicket:id="label3"></div>
    <div wicket:id="label4"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的Java代码中:

WebMarkupContainer myContainer = new WebMarkupContainer("myContainer");
add(myContainer);

if(myDataObject != null){
    myContainer.add(new Label("label1", myDataObject.getData1());
    myContainer.add(new Label("label2", myDataObject.getData2());
    myContainer.add(new Label("label3", myDataObject.getData3());
    myContainer.add(new Label("label4", myDataObject.getData4());
} else{
    //HAVING TO DO THIS IS ABSURD!
   myContainer.add(new Label("label1", "");
   myContainer.add(new Label("label2", "");
   myContainer.add(new Label("label3", "");
   myContainer.add(new Label("label4", "");
   myContainer.setVisible(false);
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,即使在我不打算显示它的情况下,我也被迫向容器中添加虚拟组件,否则Wicket会抛出异常,说我在标记中有组件,我没有添加码.

对我来说,这是荒谬的,必须实例化我不会显示的额外组件是浪费,耗时并且使代码不必要地可读.

我希望这只是我对Wicket的无知,而且有人可以告诉我一种允许我"丢弃一个组件和所有孩子"的方法.

java wicket wicket-6

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

Wicket ListView:不输出“容器”标签

我正在尝试创建 aListView或 aRepeaterWicket 6输出如下所示的项目列表:

<div class="header">My first header</div>
<div class="content">My first content</div>

<div class="header">My second header</div>
<div class="content">My second content</div>

<div class="header">My third header</div>
<div class="content">My third content</div>

...
Run Code Online (Sandbox Code Playgroud)

我尝试使用这样的 ListView:

<div wicket:id="listViewItems">
    <div class="header" wicket:id="header"></div>
    <div class="content" wicket:id="content"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

并像这样填充它:

add(new ListView<MyItem>("listViewItems", myListOfItems) {
        @Override
        protected void populateItem(ListItem<MyItem> item) {
            item.add(new Label("header", new PropertyModel(item.getModel(), "header")));
            item.add(new Label("content", new PropertyModel(item.getModel(), "content")));
        }           
   });
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

<div>
    <div class="header">My first header</div>
    <div class="content">My first content</div>
</div> …
Run Code Online (Sandbox Code Playgroud)

html java wicket wicket-6

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

注销后重定向在 Asp.net Core 2 中不起作用

我将 Asp.net Core 2.2 与 AzureAD 身份验证一起使用。它工作正常,但现在我在尝试实现注销 url 时遇到问题。

我在控制器中尝试了以下操作:

[HttpGet("[action]")]
public IActionResult SignOut()
{
    return SignOut(new AuthenticationProperties { RedirectUri = Url.Action(nameof(AfterSignOut)) }, AzureADDefaults.AuthenticationScheme);
}

[HttpGet("[action]")]
[AllowAnonymous]
public IActionResult AfterSignOut()
{
    return Ok("It's working!");
}
Run Code Online (Sandbox Code Playgroud)

当我使用浏览器https://mySite/myController/SignOut登录时,注销操作正常工作(我的用户已注销,下次我转到某个页面时,我必须再次登录)

但是,问题是我没有重定向到.urlhttps://mySite/myController/AfterSignOut中指定的url AuthenticationProperties。相反/SignOut,它只返回 HTTP 代码 200,仅此而已,它不会将我重定向到任何地方。

我在这里做错了什么?

c# azure-active-directory asp.net-core-mvc asp.net-core asp.net-core-2.2

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

WPF TreeView:鼠标悬停时突出显示项目

在 WPF 中,当你ListView用鼠标经过一个项目时会产生很好的高光效果,如下所示:

在此处输入图片说明

但是,这不会发生在TreeView. 我的问题很简单:如何为 a 中的项目启用相同的效果TreeView

注意:我知道这些问题: WPF TreeView Highlight Row On Hover 在 WPF 中突出显示整个 TreeViewItem 行

但他们主要关心的是将高光行为扩展到整行,而我仍然无法弄清楚如何在单个上启用高光效果TreeViewItem(这对我来说已经足够了)

wpf treeview

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

引导模式:关闭模式并从 DOM 中删除

我有一个页面,我想关闭一个bootstrap 3模态,然后从 DOM 中删除模态本身。

所以,我试图这样做:

let modal = $('#myModal');
modal.modal('hide');
modal.remove();
Run Code Online (Sandbox Code Playgroud)

问题是这个解决方案关闭了模态弹出窗口本身,但在页面上留下了变暗的半透明背景。我怀疑这是因为在关闭动画完成之前模态被从页面中删除。

我知道我可以设置一个计时器等待一段时间并确保模式在从 DOM 中删除它之前已经关闭,但我想知道的是:是否有更“正确”的方式不依赖于任意计时器?

javascript jquery bootstrap-modal twitter-bootstrap-3

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