【问题标题】:c# - hide field when changing another fieldc# - 更改另一个字段时隐藏字段
【发布时间】:2015-03-22 21:48:25
【问题描述】:

我在一个 lightswitch C# 项目中工作。 当同一屏幕中的另一个(布尔)字段更改值时,我正在尝试使屏幕中的字段不可见。 (不保存或刷新) 例如当字段 X 从“真”变为“假”时隐藏字段 Y。

这是我现在拥有的,但仅在我刷新屏幕时才有效,而不是在更改 ItemX 的属性时立即有效。

if (this.entity.itemX.value == true)
        {
            this.FindControl("itemY").IsVisible = false;
         }
        else
        {
            this.FindControl("ItemY").IsVisible = true;
         }

有什么建议吗?

【问题讨论】:

  • 我相信你用谷歌搜索了很多,写过很多代码,但你的代码仍然有问题。您能发布它,以便我们尝试修复它吗?
  • 上次我检查时,这个网站是用来帮助人们解决关于已经编写的代码的问题,而不是为其他人编写代码。您需要向我们展示您目前拥有的东西吗?
  • 这是一个网络应用程序吗?窗体? WPF?您可以提供的信息越多,就越有可能获得所需的帮助。

标签: c# visual-studio-lightswitch invisible


【解决方案1】:

如果您正在使用 Lightswitch HTML 项目(C# 和 JavaScript),请在屏幕创建的代码上尝试这样的操作:

var hide;

myapp.BrowseTestScreen.booleanSwitch_postRender = function(element, contentItem) {

contentItem.dataBind("value", function (newValue) {
    if (contentItem.value == true) {
        hide = true;
        //contentItem.screen.TestTextbox= "val1";
        //this would change the value of the text box

    }
    else 
      {
        hide = false;
        //contentItem.screen.TestTextbox = "val2";
        //this would change the value of the text box
      }
  });

 };


myapp.BrowseTestScreen.TestTextbox_postRender = function (element, contentItem) {

contentItem.dataBind("value", function(newValue) {
    if (hide == true) {
        $(element).show();
    }
    else {
        $(element).hide();
    }
});
};

【讨论】:

  • 我使用了类似的代码(添加到我的问题中),但仅在刷新时有效,而不是在更改属性时立即有效。
  • 现在要调查一下,我认为它将在开关编辑渲染代码的函数中
  • 非常感谢!我会试一试。它是一个视觉工作室灯开关应用程序。不是 HTML 项目,但我会尝试锻炼您提供的代码。已经找了好几天了..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-15
  • 2020-06-05
  • 1970-01-01
相关资源
最近更新 更多