posts - 15, comments - 62, trackbacks - 0, articles - 0

2011年8月24日

找到 Ext.ux.grid.menu.ListMenu 类,位于 extjs/examples/us/grid/menu/listmenu.js。

修改show方法为:

show: function () {
    var lastArgs = null;
    return function () {
        if (this.loadOnShow && !this.loaded) {
            this.store.load();
            this.callParent(lastArgs);
        } else {
            this.callParent(lastArgs);
        }
    };
} (), 

或使用Ext.override方法在其它文件进行修正。推荐使用override方法。

修改后,使用正常。

var listProvince = Ext.create("SMS.store.Selected.Province");
var filgerColumns = [
	{ dataIndex: 'ID' },
	{ dataIndex: 'ProvinceID', type: 'list', store: listProvince, labelField: 'text' },
	{ dataIndex: 'Name' }
];

image

posted @ 2011-08-24 14:44 李宏 阅读(84) 评论(1) 编辑

.x-btn-default-small .x-btn-inner, .x-btn-default-medium .x-btn-inner, .x-btn-default-large .x-btn-inner, .x-btn-default-toolbar-small .x-btn-inner, .x-btn-default-toolbar-medium .x-btn-inner, .x-btn-default-toolbar-large .x-btn-inner, .x-menu-item-text, .x-html-editor-tb .x-font-select, .x-panel-header-default, .x-panel-header-text-default, .x-panel-header-default-framed, .x-tip-header, .x-tip-body, .x-form-invalid-tip-body, .x-tip-header-text, .x-progress-text, .x-toolbar, .x-toolbar .x-form-item-label, .x-toolbar .x-toolbar-text, .x-window-header-text-default, .x-tab-bar, .x-tab button, .x-grid-rowbody, .x-grid-row .x-grid-cell, .x-grid-group-title, .x-grid-row-editor .x-form-field, .x-grid-row-editor .x-form-display-field, .x-form-invalid-under, .x-fieldset-header, .x-column-header, .x-mask-msg div, .x-btn-group-header-text-default-framed, table.x-datepicker-inner a, .x-monthpicker-item, .x-dd-drag-ghost
{
    font-size
: 12px;
}

.x-column-header
{
    text-shadow:0 0 0 rgba(255, 255, 255, 0.3);
}
将以上代码保存为css文件,在ext-all.css后引入即可。

posted @ 2011-08-24 14:38 李宏 阅读(360) 评论(0) 编辑

2011年8月15日

写了一通宵的表达式树实现动态拼接查询条件,才发现MICROSOFT提供了System.Linq.Dynamic这个东东……悲剧,吐血……

posted @ 2011-08-15 16:55 李宏 阅读(16) 评论(0) 编辑

2011年8月9日

搞培训这么多年了,可相关学习文档一直不满意,现准备重新编写相关部分,目录如下:

  1. HTML概述
  2. HTML语法
  3. HTML标签
  4. HTML实例--用户注册页面
  5. CSS概述
  6. CSS语法
  7. CSS选择器
  8. 文档流与盒子模型(块、内联、行、内容、可转换)
  9. CSS实例--用户注册页面
  10. 浏览器兼容性问题
  11. JavaScript概述
  12. JavaScript语法
  13. JQUERY
  14. BOM
  15. DOM(JS重点,使用JS与JQUERY同时实现代码)
  16. 综合实例--企业网页(7个页面,首页、文章列表、文章显示、产品列表、产品展示、留言列表、留言发布、单栏目页)
  17. 综合实例--后台管理界面(4个页面,登陆、管理框架、列表、编辑)

不定期更新中………………

posted @ 2011-08-09 19:12 李宏 阅读(138) 评论(3) 编辑

2010年7月9日

    关于EF、SL、DomainDataSource的说明园子上够多了,这儿就不多说了。

    1.安装VS2010与Silverlight 4 Tools……

    2.打开VS2010,新键Silverlight项目,如图一所示:

图1.新键项目

    注:请选中"启用WCF RIA服务"的CheckBox.

    建立好项目后,解决方案里的文件如图2所示:

图2.解决方案文件结构

    3.在SilverlightApplication.Web里,添加Entity Framework的数据库映射文件,这儿我以自己数据库的一个表所为示例,如图3与图3所示:

图3.新建"Ado.Net实体数据模型"

 

图4.从数据库生成模型

图5.选择要映射的数据库

图6.从数据库选择要映射的对象

图7.映射完成

    4.在添加完数据库映射文件后,对项目进行一次编译(快捷键F6),才能让第5步要添加的Domain Service Class读取到相关的EF实体类。

    5.添加Domain Service Class(图8),通过Domain Service Class,SL就可以与服务器进行通信,替代了原来的WCF作为中间层的解决方案,并选择相关的表与权限(图9)。

图8.添加Domain Service Class

图9.选择Domain Service Class可操作的表

    到此,前期准备工作完成。下面,我们就开始对SL的页面进行布局、放控件等操作。

6.布局页面,页面上的控件有:一个DataGrid,一个DataPager,两个Button(一个确定更改一个取消更改),并设置DataGrid的列信息。布局图如图10,代码请代码1。

图10.页面布局

 

XAML
<UserControl x:Class="SilverlightApplication.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable
="d" d:DesignHeight="300" d:DesignWidth="400"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">

<Grid x:Name="LayoutRoot" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="60" />
<ColumnDefinition Width="60" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<sdk:DataGrid AutoGenerateColumns="False" Grid.ColumnSpan="3" Name="dataGrid1">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="标识" Binding="{Binding ID,Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="国家" Binding="{Binding Country,Mode=TwoWay}" Width="*" />
<sdk:DataGridTextColumn Header="省份" Binding="{Binding Province,Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="市/区" Binding="{Binding City,Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="地域" Binding="{Binding Area,Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="邮编" Binding="{Binding PostCode,Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="区域码" Binding="{Binding AreaCode,Mode=TwoWay}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<sdk:DataPager Grid.Row="1" Name="dataPager1" PageSize="10" />
<Button Content="提交修改" Grid.Column="1" Grid.Row="1" Name="btnSubmit" />
<Button Content="取消修改" Grid.Column="2" Grid.Row="1" Name="btnCancl" />
</Grid>
</UserControl>

代码1.XAML

7.下面,有请我们今天的重点:Domain Data Source控件。要使用Domain Data Source控件,我们需要将它引入XAML中来以便使用,在UserControl节加入以下绿色代码(注:xmlns:ds所引入的命名空间根据个人所建立项目名不同有所不同。即:引入Web层所在的命名空间):

 

   <UserControl x:Class="SilverlightApplication.MainPage"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable
="d" d:DesignHeight="300" d:DesignWidth="400"

    xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices"
    xmlns:ds="clr-namespace:SilverlightApplication.Web"

    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">

 

8.在页面中加入Domain Data Source控件,重点属性是QueryName属性,此属性对应DomainSerivceClass里的方法名,即:要查询的表。方法名一般为:Get[TableName]Query。同时我们还要设置相关的Domain Service Class,默认排序方式设置可选。相关Xaml代码如代码2:

 

Domain Data Source
<my:DomainDataSource Name="dds" QueryName="GetRegionQuery" AutoLoad="True">
<my:DomainDataSource.DomainContext> <!--设置相关Domain Service-->
<ds:SSMContext />
</my:DomainDataSource.DomainContext>
<my:DomainDataSource.SortDescriptors>
<my:SortDescriptor PropertyPath="ID" Direction="Descending" /> <!--设置默认排序方式-->
</my:DomainDataSource.SortDescriptors>
</my:DomainDataSource>

代码2.Domain Data Source

好了,下们我们Ctrl+F5运行下页面,吁?什么数据都没有?

噢!!!我们还没有进数据进行Binding。来吧,设置数据绑定。

我们需要把Domain Data Source的Data属性绑定到DataGrid的ItemSource与DataPager的Source属性上,即:

 

代码
.....................
<sdk:DataGrid ItemsSource="{Binding Data, ElementName=dds}"
.....................
.....................
<sdk:DataPager Source
="{Binding Data, ElementName=dds}"
.....................
.....................

 

 

Ctrl+F5一下看下效果~哎呀,全部出来了~!排序、分页、编辑一切正常!

图12.运行效果

但是,在编辑后,数据是不会入库的,这里,我们只需要调用一个方法:DomainDataSource.SubmitChanges(),于是,我们对提交修改与取消修改的点击事件产生如下代码:

 

代码
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("确认提交更改?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
this.dds.DomainContext.SubmitChanges();
}
}

private void btnReject_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("确认取消更改?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
this.dds.DomainContext.RejectChanges();
}
}

代码3

运行起来:全部OK!强大的Domain Data Source控件与Domain Data Class啊!!!

 

DEMO与数据库备份文件下载请点我

posted @ 2010-07-09 16:49 李宏 阅读(447) 评论(14) 编辑

2010年6月3日

1.在SL中查询时,记得using System.ServiceModel.DomainServices.Client,否则会出现xxx.GetxxxQuerys()不出现Take、Where等等扩展方法,也不能 from x in xxx.xxxx where。

会报如下异常:未能为源类型“System.ServiceModel.DomainServices.Client.EntityQuery<xxx>”找到查询模式的实现。找不到“Where”。 

posted @ 2010-06-03 03:48 李宏 阅读(194) 评论(1) 编辑

2010年5月28日

摘要: Visual Studio 2010 Professional:emule下载:ed2k://|file|cn_visual_studio_2010_professional_x86_dvd_532145.iso|2591844352|6001253431afe573e4344f5a0b1d9cac|/Visual Studio 2010 Ultimate:emule下载:ed2k://|file...阅读全文

posted @ 2010-05-28 23:34 李宏 阅读(429) 评论(2) 编辑

2010年4月13日

摘要: Choose one of the following download options:Download the .exe file and the .rar files on this page, and save them on your computer. On the computer, double-click the .exe file to extract the ISO imag...阅读全文

posted @ 2010-04-13 01:07 李宏 阅读(599) 评论(3) 编辑

2009年8月30日

摘要:   s[0] "1,122,670.41" float.Parse(s[0]) 1122670.38 double.Parse(s[0]) 1122670.41阅读全文

posted @ 2009-08-30 12:55 李宏 阅读(184) 评论(0) 编辑

2009年6月8日

摘要: 表结构:Permission.Department表(用户部门表)字段名称数据类型可空默认值说明IDint<自增标识(1,1)> 数据标识ParentIDint((0))父部门标识Namevarchar(50)<主键> 部门名称Descriptionvarchar(5000)√部门描述AllowRegint((0))是否允许用户注册ExpireTimedatet...阅读全文

posted @ 2009-06-08 17:39 李宏 阅读(71) 评论(1) 编辑