///////////////////////////////////////////////////////////////////////// // Silverlight Data Binding Helper 0.1 /////////////////////////////////////////////////////////////////////////
if (!window.SilverlightBinding)
window.SilverlightBinding = {}; SilverlightBinding.BindingData = function(ctrl,bindingExpression) { var bindings = bindingExpression.split(';'); this.bindingComplete = false; this.ctrl = ctrl; for(var i = 0; i { var temp = bindings[i].split(':'); if(temp.length != 2) { this.bindingComplete = false; return; } if(temp[0] == 'BindingField') this.bindingField = temp[1]; else if(temp[0] == 'BindingProperty') this.bindingProperty = temp[1]; else if(temp[0] == 'Format') this.format = temp[1]; } this.bindingComplete = true; } SilverlightBinding.BindingData.prototype = { updateValue : function(dataItem) { if(this.bindingComplete) { if(this.format) eval('this.ctrl.'+this.bindingProperty+
" = this.format.replace('{0}',dataItem."+this.bindingField+');');
else eval('this.ctrl.'+this.bindingProperty+' = dataItem.'+this.bindingField+';'); } } } SilverlightBinding.BindingContext = function(bindingContainer) { var parseBinding = bindingContainer.tag.split(':'); this.bindingComplete = false; this.bindingContainer = bindingContainer; this.bindingControls = new Array(); this.currentDataIndex = 0; this.recordCount = 0; if(parseBinding.length == 2 && parseBinding[0] == "BindingContext") { var bindingMethods = parseBinding[1].split(','); if(bindingMethods.length == 2) { this.bindingMethod = bindingMethods[0]; this.bindingCountMethod = bindingMethods[1]; this.bindingComplete = true; } } if(!this.bindingComplete) alert('ERROR,Binding Failed.'); } SilverlightBinding.BindingContext.prototype = { _childWorker : function(parent,parseParent) { if(parent.tag && parent.tag != '') { if(parseParent) { var bindingData = new SilverlightBinding.BindingData(parent,parent.tag); if(bindingData.bindingComplete) { this.bindingControls.length++; this.bindingControls[this.bindingControls.length-1] = bindingData; } else delete bindingData; } try { var temp = parent.children; } catch(err) { return; } for(var i = 0; i this._childWorker(parent.children.getItem(i),true); } }, initialize:function() { this._childWorker(this.bindingContainer,false); this._receiveCount(); this._receiveData(0); }, OnSucceeded: function(result, userContext, methodName) { if (methodName == userContext.bindingMethod) { for(var i = 0; i userContext.bindingControls[i].updateValue(result); } else if(methodName == userContext.bindingCountMethod) userContext.recordCount = result; }, OnFailed:function(error, userContext, methodName) { if(error !== null) { alert(error.get_message()); } }, _receiveData: function(index) { eval('PageMethods.'+this.bindingMethod+
'(index,this.OnSucceeded,this.OnFailed,this);');
}, _receiveCount: function() { eval('PageMethods.'+this.bindingCountMethod+
'(this.OnSucceeded,this.OnFailed,this);');
}, next:function() { if(this.currentDataIndex+1 >= this.recordCount) return; this._receiveData(++this.currentDataIndex); }, prev:function() { if(this.currentDataIndex -1 return; this._receiveData(--this.currentDataIndex); } } |
相关推荐
在C#编程中,DataBindings是一个强大的特性,用于在用户界面(UI)控件与数据源之间建立双向数据绑定。这种绑定允许数据源的变化自动反映到UI上,反之亦然,极大地简化了数据驱动的应用程序开发。下面我们将通过实例...
`DataBindings`是.NET中一个关键的概念,它用于实现控件与数据源之间的绑定,使得数据显示和更新变得更加简单。在这个案例中,我们将深入探讨如何使用`.NET TextBox`的`DataBindings`特性来展示对象的名称,而不是其...
在 `InitUI()` 方法中,`textBox1`, `textBox2`, `textBox3` 分别通过 `DataBindings.Add(new Binding("Text", order, "Id"))` 这样的方式与 `Order` 对象的属性 `Id`, `Customer`, `OrderDate` 进行了绑定。...
= null) ctl.DataBindings.Remove(ctl.DataBindings[propertyName]); ctl.DataBindings.Add(propertyName, BindingSource, fieldName, true, DataSourceUpdateMode.OnPropertyChanged); } public void SetBinding...
标题提到的“databindings_bug:多模块不适用于数据绑定编译器v2”就是这样一个典型的问题,它涉及到Java编程语言和Android的数据绑定框架。 在Android Studio中,多模块项目被广泛采用,以实现更好的代码组织和重用...
Gtk.DataBindings 是一个开源项目,专为 Mono 的 Gtk-Sharp 框架提供数据绑定功能。在编程领域,数据绑定是一种强大的设计模式,它允许开发者将用户界面(UI)组件的状态直接与应用程序的数据模型关联起来。这使得 ...
当使用`DataBindings.Add`方法时,默认的行为是在控件的Validation事件触发时更新数据源。在这种情况下,问题在于当点击其中一个RadioButton时,另一个RadioButton的验证事件并未被触发,导致数据源中的对应值没有...
本库是用C#.net编写的,是一个带Image 的combobox。
在这个名为“databindings-test”的项目中,我们很显然是在测试这种机制。 在JavaFX中,数据绑定是其强大的特性之一,它简化了用户界面与后台数据模型之间的同步。例如,你可以将一个文本字段的文本属性绑定到某个...
本文以实例形式讲述了C#应用BindingSource实现数据同步的方法,对C#数据库程序开发来说具有一定的参考借鉴价值。具体实现方法如下: 下面的代码示例演示如何使用 BindingSource 组件,将三个控件(两个文本框控件和...
在Windows Forms(WinForm)应用程序开发中,动态绑定控件数据是一种常见的需求,特别是当数据来自数据库时。这里我们关注的是如何将数据库中的记录动态地显示在TreeView控件中。TreeView控件通常用于呈现层次结构的...
在Windows窗体中,控件通过`DataBindings`集合属性实现这一功能。例如,你可以将一个TextBox的`Text`属性绑定到数据库中的一列,这样当数据源发生变化时,TextBox的内容也会自动更新。在Web窗体中,简单数据绑定通过...
覆盖以下内容:基于JAX-WS规范和CXF自身的前端模式实现,CXF支持的数据绑定(DataBindings),CXF支持的WSDL绑定,CXF支持的传输协议绑定。CXF的调式、配置、日志、发布和工具。CXF实现RESTful服务。CXF对WS-* 的...
textBox1.DataBindings.Add("text", dataset1, "Table.序号"); textBox2.DataBindings.Add("text", dataset1, "Table.小类"); textBox3.DataBindings.Add("text", dataset1, "Table.品目"); textBox4.DataBindings....
`Binding`对象通过`ControlBindingsCollection`的`Add`方法添加到控件上,例如`textBox1.DataBindings.Add("Text", ds, "Products.ProductName")`。 3. `CurrencyManager`和`PropertyManager`: 这两者都是`...
<DataBindings> </DataBindings> ``` 这里,`DataMember`属性指定了要绑定的数据集名称,`TextField`定义了显示的文本,而`ValueField`则设定了每个节点的值。 ### 3. 主从表数据的绑定 对于主从表关系,...