silverlight - DataForm 添加数据时(单独添加页面)增加ComboBox 的方法以及设置默认选项 (备忘)
2014-01-09 14:18
543 查看
搞的头昏眼花,现在记录下来备忘
xaml中:
添加引用:
xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices" --引用DomainServices
xmlns:my="clr-namespace:MIIMS.Web.DataBase_Model" --- sl项目中的wcf服务
添加资源:
<riaControls:DomainDataSource AutoLoad="True" x:Key="kpwDDS"
LoadedData="kpwDomainDataSource_LoadedData"
QueryName="GetKj150_patrol_wayQuery" >
<riaControls:DomainDataSource.DomainContext>
<my:DS_System />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
其中:
QueryName="GetKj150_patrol_wayQuery"是wcf中定义
<my:DS_System /> 是wcf服务名称
DataForm 中的数据项:
<dataFormToolkit:DataField Label="所在线路:">
<ComboBox Width="200" x:Name="cbbIndf"
ItemsSource="{Binding Path=Data,Mode=TwoWay,Source={StaticResource kpwDDS}}"
DisplayMemberPath="pw_name" SelectedValuePath="pw_id"
SelectedValue="{Binding Path=pp_pw_id,Mode=TwoWay}"/>
</dataFormToolkit:DataField>
其中的 SelectedValue="{Binding Path=pp_pw_id,Mode=TwoWay}" path=pp_pw_id 是DataForm 数据源中对应的项,如果不设置这个属性在DataForm提交保存时将无法取得对应的值.
后台代码:
为DataForm 绑定数据源 UserRegistration.CurrentItem = .....; 可放在初始化或loaded等位置.
LoadedData处理方法:
private void kpwDomainDataSource_LoadedData(object sender, System.Windows.Controls.LoadedDataEventArgs e)
{
if (e.HasError) //错误处理
{
System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK);
e.MarkErrorAsHandled();
}
else
{
//设置默认选项
ComboBox cbb = this.UserRegistration.FindNameInContent("cbbIndf") as ComboBox;
if (null != cbb)
{
cbb.SelectedValue = _kpp.pp_pw_id;
}
}
}
至此完成.
xaml中:
添加引用:
xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices" --引用DomainServices
xmlns:my="clr-namespace:MIIMS.Web.DataBase_Model" --- sl项目中的wcf服务
添加资源:
<riaControls:DomainDataSource AutoLoad="True" x:Key="kpwDDS"
LoadedData="kpwDomainDataSource_LoadedData"
QueryName="GetKj150_patrol_wayQuery" >
<riaControls:DomainDataSource.DomainContext>
<my:DS_System />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
其中:
QueryName="GetKj150_patrol_wayQuery"是wcf中定义
<my:DS_System /> 是wcf服务名称
DataForm 中的数据项:
<dataFormToolkit:DataField Label="所在线路:">
<ComboBox Width="200" x:Name="cbbIndf"
ItemsSource="{Binding Path=Data,Mode=TwoWay,Source={StaticResource kpwDDS}}"
DisplayMemberPath="pw_name" SelectedValuePath="pw_id"
SelectedValue="{Binding Path=pp_pw_id,Mode=TwoWay}"/>
</dataFormToolkit:DataField>
其中的 SelectedValue="{Binding Path=pp_pw_id,Mode=TwoWay}" path=pp_pw_id 是DataForm 数据源中对应的项,如果不设置这个属性在DataForm提交保存时将无法取得对应的值.
后台代码:
为DataForm 绑定数据源 UserRegistration.CurrentItem = .....; 可放在初始化或loaded等位置.
LoadedData处理方法:
private void kpwDomainDataSource_LoadedData(object sender, System.Windows.Controls.LoadedDataEventArgs e)
{
if (e.HasError) //错误处理
{
System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK);
e.MarkErrorAsHandled();
}
else
{
//设置默认选项
ComboBox cbb = this.UserRegistration.FindNameInContent("cbbIndf") as ComboBox;
if (null != cbb)
{
cbb.SelectedValue = _kpp.pp_pw_id;
}
}
}
至此完成.
相关文章推荐
- 黑马程序员——Map集合
- 我们想要什么样的人生?—体验决定深度,知识决定广度
- 【整理】将Linux脚本中的正常输出,警告,错误等信息输出到文件中
- android apk反编译打包签名
- android fragment(android.support.v4.app.Fragment和android.app.Fragment区别
- 黑马程序员——Set集合
- [图论]Floyd 算法小结
- 开启我的博客之旅
- Visual Studio 2013 Setup Blocked: Higher version has already been installed
- SDL 和 OpenGL 关系
- Javascript 多浏览器兼容性问题及解决方案
- Mysql临时执行系统命令
- 黑马程序员——集合框架&List
- 黑马程序员——String
- 直接拿来用!最火的Android开源项目
- UI组件:父子组件渲染的同步、不同步设计
- 旋转设备故障诊断轴心轨迹分析
- SeekBar的拖动的事件监听
- 九度-1017-还是畅通工程
- 黑马程序员——多线程