问题标签 [2-way-object-databinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3344 浏览

apache-flex - Flex 4 COLLECTION_CHANGE 事件未触发

我目前正在尝试实现 ArrayCollection 对象的 2 路绑定。但是,COLLECTION_CHANGE 事件没有触发。

应用程序.mxml

FloorplanGrid.as

我正在尝试使用Booths变量实现双向绑定。但是,即使我在 App.mxml 的 Booths 变量中添加 2 个新项目,COLLECTION_CHANGE 事件也不会触发

0 投票
5 回答
11048 浏览

c# - ASP.NET 中的两种数据绑定方式

假设我们有一个对象

我想将属性绑定到页面上的两个文本框,如下所示:

然后在后面的代码中写这个

当我在文本框中输入值时,我希望 EntityObject 在 PostBack 之后重新加载页面时在属性中具有这些值,但属性始终为空。

0 投票
1 回答
282 浏览

c# - 组合框中的数据绑定

参考: 组合框上的 C# 数据绑定

我也有类似的情况。我有一个带有几个文本框、组合框、复选框的表单。最初,我使用捕获“更改”事件(如 text_changed、selected_index_changed 等)并将 UI 数据与支持对象同步。我了解了数据绑定并将所有 UI 元素绑定到我的支持对象。

问题: 根据我的 UI 状态,我启用和禁用使用支持对象保存到内容的“提交”按钮。但是现在,由于 DataBinding,支持对象的属性不会改变,除非绑定到该对象的控件正确失去焦点。

问题 是否有解决此问题的标准方法?还是我还需要捕捉“更改”事件并设置支持对象的值?

此外,为了使表单容错,我每 N 秒保存一次支持对象。但是使用 DataBinding(鉴于焦点上的控件仍未将其值设置为支持对象),我将保存错误的数据。

我试过 Evey N 秒调用 this.validate() -> 这不起作用,因为它实际上填充了焦点控件中的旧数据。

- - - 笔记 - - -

支持对象实现 INotifyPropertyChanged 接口。

这就是我绑定的方式(不是在设计器中),而是在代码中。

绑定 binding = new Binding("checked", solution, "InternalFlag"); checkBoxFlag.DataBindings.Add(绑定);

0 投票
2 回答
1697 浏览

c# - 数据绑定 bind() 函数属于哪个类?

单向数据绑定Eval函数属于DataBinder类,并且可以在页面通过TemplateControl.Eval方法中访问,该方法调用该DataBinder.Eval方法使用该GetDataItem方法来解析评估表达式的对象引用,唷!

好的......那么,双向数据绑定Bind功能如何工作?它属于哪个类?

0 投票
2 回答
950 浏览

apache-flex - mx:DateField 和表单内的绑定

我有一个包含多个 FormItem 的表单,其中一个包含 mx:DateField。我不确定我应该如何绑定 DateField 值。我尝试了以下方法,但都不起作用:

现在最终我试图将日期作为字符串存储/检索到数据库中。任何帮助或最佳实践将不胜感激谢谢。

0 投票
2 回答
5202 浏览

c# - WPF将文本框绑定到数据网格的当前选定行

我已经看过并且找不到我要找的东西。我有一个 MVVM 环境。在视图模型上,我有一个可从数据库连接/查询的数据中获得的数据表。我已经将一个属性(getter/setter)公开为基于“TheTable.DefaultView”的“DataView”。

我在窗口中有一个绑定到数据视图的数据网格......没问题。

对于上面的“SelectedItem”,它也来自通过其(getter/setter)暴露在 ViewModel 上的属性。

现在,我的问题。当我向下滚动数据网格中的记录列表时,我有其他文本框控件来显示比网格列表提供的更多数据。我希望能够编辑“当前行”的数据,所以我有一个文本框,里面有我能想到的尽可能多的设置,但还是有问题。

如果我滚动并处于数据的编辑模式,并更改与当前行关联的文本框中的值,并且该值是网格中显示的列之一,则数据网格本身不会显示更改的值. 但是,如果我继续滚动并返回同一条记录,则文本框中的值会显示更改为值。

那么,当特定行中的单个列已更改并且网格本身也已更新时,如何强制将网格数据源也视为已更新。谢谢...

0 投票
3 回答
6310 浏览

asp.net - 双重数据绑定级联下拉列表到 FormView 中的两个 SqlDataSource

我有两个级联下拉列表,我试图分别绑定到两个单独的 SqlDataSource。

这些下拉列表存在于 FormView 的 EditItemTemplate 中。在 EditItemTemplate 内部存在两个填充部门和作业名的 sqldatasource 控件。DeptID 和 JobID 是这些表中的主键。这在部门和工作之间产生了“级联效应”。选择部门后,仅显示与该部门关联的工作。

这件作品工作正常。

在窗体视图之外,存在将所有信息绑定到更新语句中的 Employee 表的 SqlDataSource。我将在此 SqlDataSource 中保留所有其他信息,即使它已从上面的 FormView 中省略。

我不知道如何绑定的唯一部分是部门和工作。其他一切都在工作。我尝试在 DropDownList 控件中使用以下代码...

...但是这些会导致错误。

概括

当用户单击编辑时,我需要两个下拉框中的值从主 sqlDSProfile 数据源中提取它们的选定值,但我需要它们是可更新的。我已经达到了可以更新和绑定员工所属工作的地步,但是由于下拉列表级联,当我尝试更改部门时,AutoPostBack 会破坏 sqlDSProfile - CurrentJobID 和 ddlJobs 之间的绑定。

更新

我在 select 语句中添加了tblEmployee.CurrentDeptIDtblEmployee.CurrentJobID,并将 Bind() 语句添加到 DropDownList 控件中。

现在,两个 DropDownLists 都填充了从 Employee 表中提取的准确信息,显示了员工所属的部门和工作。

这两个 DropDownList 也由 FormView 内的两个 SqlDataSource 填充,为我提供了更改部门和更改工作的选项。

当我更改工作时,它会起作用并且员工的工作也会更新。

当我改变部门时,它会说DataBinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.

接近完成

我从 ddlJobs 中删除了数据绑定,并在后台对其进行了编码。

剩下的唯一部分是构建 ddlDepartments 更改时的代码。

伪代码...

很近!

再次更新

这是我为松散绑定而开发的代码。在 page_load 中,我试图从 sqlDSProfile 中提取 CurrentJobID 的内容,并检查该值是否存在于 ddlJobs 中。如果是,我想将 ddlJobs.SelectedValue = 设置为该 CurrentJobID。如果不是,我想将 selectedindex 设置为 0,这是一条消息,说“选择一个”或其他内容。

它在我检查 dbnull.value 的行上返回一个空引用异常

0 投票
4 回答
31955 浏览

c# - 如何修复 WPF Datagrids 中的“双向绑定需要路径或 XPath”异常?

这个问题的背景/上下文: 我有一个 WPF 桌面应用程序。它使用 LINQ to SQL 连接到其 SQL 数据库,并在 WPF Datagrids 中显示其数据。它工作得相当好,但性能是个问题,因为 LINQ 可能非常慢,所以我一直在尽可能地将我的逻辑和 UI 控件从 LINQ 数据库上下文中切换出来,而是将它们加载到非常类似于的局部变量中LINQ 对象,它极大地提高了性能。

问题: 当我测试我的 Datagrids 时,我现在得到一个新异常“双向绑定需要 Path 或 XPath。 ”当我尝试编辑一个 Datagrid 的某个(整数)列中的值时,尽管编辑字符串列有工作正常。我不明白为什么我会得到这个,或者该怎么做。

因此,当 datagrid.datacontext 设置为 LINQ 实体关联时它可以工作,但它几乎只在它设置为普通对象列表时才有效。我尝试将列表更改为 ObservableCollection,但这没有明显效果。

我在这里和其他网站上查看了大约十几个不同的相关问题,但没有看到任何似乎有帮助的东西。

目前我有:

...

受代码约束:

定义为:

其绑定成员是:

输入此内容后不久,我发现了一个非常简单的修复程序,当网站在延迟 8 小时后允许我发布时,我将发布该修复程序。

0 投票
2 回答
1252 浏览

wpf - DataGrid 绑定到列表

我需要关于 WPF DataGrid 控件和类型的基础对象之间的最佳中间层的建议List<int?>。显然我不能轻易地将两者直接连接起来,因为 DataGrid 想要绑定到具有 get/set 属性的对象集合,并且我遇到了 DataGrid 找不到可为空的 int 对象的“Value”属性的问题列绑定源。

原始数据源必须保留为List<int?>,并且我正在尝试利用 DataGrid 为您提供的自动添加/删除/编辑功能,以便将双向数据绑定保留到原始List<int?>源。

感谢您的任何建议。

0 投票
1 回答
962 浏览

c# - 如何创建双向数据绑定代理?

我有以下课程...

我使用ComparisonBinder该类的代码如下:

它们允许我使用表达式将许多控件绑定到同一个属性,以生成控件绑定属性的值。它从控件到对象都很好地工作。(如果你想了解更多关于使用这个类和这个问题的信息)

现在,我需要另辟蹊径。当我更新我的对象(这将改变 get 表达式的结果)时,我需要更新绑定控件。我尝试实施,INotifyPropertyChanged但没有任何区别。

一件奇怪的事情:将控件设置为DataSourceUpdateModeOnPropertyChanged某种方式阻止我更改选中的收音机。