摘要: 一、准备工作 1、数据库模型: 如你所见,EF模型是上图中三个表,第四个则是数据库视图。 2、数据: 先在HeadAddress表中插入三条数据,再在EndAddress表中也插入三条数据,最后往Customer表中插入三万条随机数据作为测试数据。二、效率比较 1、视图 vs 跨表:遍历所有用户信息(HeadAddress、EndAddress、Customer中的字段) 1 // 视图(ToList) 2 var temp = _DataContext.CustomerView; 3 ... 阅读全文
posted @ 2013-01-03 17:24 Lekko.Li 阅读(2747) 评论(4) 推荐(4) 编辑
摘要: 在使用DataGrid的时候,有时候需要使某些列为ComboBox,这时自然想到使用DataGridComboBoxColumn,但是如果使用的是ItemsSource数据绑定后台的对象,就会发现,这根本就不能用。 首先,看有问题的代码:后台代码 1 using System.Windows;... 阅读全文
posted @ 2012-11-23 18:03 Lekko.Li 阅读(14004) 评论(25) 推荐(4) 编辑
摘要: 以前在使用EF都没用过视图这种数据形式,最近一个东西数据关联比较复杂,用视图来表现数据会方便很多,于是网上找资料,什么中文、英文的,基本都是教你用脚本、写映射的代码,就是没有傻瓜操作,于是便产生了下文,以飨各位观众: 一、建立EF模型 这个就不用多说了,我在VS2010中建立个模型: 我的目的就是建立一个以Work表(工作)为出发点的视图,把一次工作记录的其它信息也放在视图中,然后根据EF模型建立数据库。 二、SQL Server 2008中建立视图 这部分也是在SQL Server 2008的图形界面完成的,打开刚才建立的数据库,点击视图,右击新建,在弹出的窗口中选中要参与到视... 阅读全文
posted @ 2012-10-31 13:21 Lekko.Li 阅读(5156) 评论(2) 推荐(1) 编辑
摘要: 将.NET数据导出为Excel文件,有许多种方法,我这里介绍采用COM组件来操作Excel文件,并且还会涉及异步、同步、进程管理、文件定位等内容,使用WPF做到一个尽量可用的导出界面。一、WPF前台 这个就不用多说了,堆上几个按钮,做一个数据录入的东西,一个状态条: 我这里的数据录入,就是用了几个Textbox,实际上大家可以用任何东西(DataGrid、ListView等),因为在最后都会转成List<MyData>的形式进行导出的,MyData是表示数据记录的对象:1 // 自定义数据类2 public struct MyData3 {4 public string Co... 阅读全文
posted @ 2012-10-19 15:17 Lekko.Li 阅读(2251) 评论(12) 推荐(6) 编辑
摘要: <!-- td {padding:5px 10px;} --> 加密数据可以使用对称加密或非对称加密算法,使用对称加密比非对称密钥快得多,但对称密钥需要解决安全交换密钥的问题。在.NET Framework中,可以使用System.Security.Cryptography命名空间中的类来加密。它实 阅读全文
posted @ 2012-09-11 16:00 Lekko.Li 阅读(3812) 评论(13) 推荐(5) 编辑
摘要: 最近学校的破网越来越不像话了,换了这Win7机器后,Dr.Com就一直掉,换了各种版本,也不行,无奈,我只得换成了网页登录模式。但是这上网还要开个网页不能关,无形中增加了我对电脑整洁度的恶评,所以,我决定封装这个丑陋的界面: 使用WebBrowser控件用来加载这个页面,且设置Visibility="Hidden" 让它不显示,就行了。WB_Client.Source = new Uri("http://"+"192.168.20.1"); 上面便是加载页面的方法,WB_Client是控件名,192.168.20.1是学校服务器的IP 阅读全文
posted @ 2012-09-01 16:21 Lekko.Li 阅读(2884) 评论(4) 推荐(2) 编辑
摘要: 在WPF中,专门有HierarchicalDataTemplate用于自定义显示TreeView和ListBox的层次结构,结合后台定义的数据,得以实现五花八门的外观。我现在先简要说明一下HierarchicalDataTemplate的使用方式:1 public class DataItem2 {3 public string Header { get; set; }4 public IList<DataItem> Childs { get; set; }5 } 上面是树的一个结点类,包括了一个Header字段和子结点列表,下面则是对应的前台代码:<Grid> ... 阅读全文
posted @ 2012-08-28 16:03 Lekko.Li 阅读(2731) 评论(5) 推荐(2) 编辑
摘要: 判断Socket是否连接上,需要通过发包来确认: 1 // 检查一个Socket是否可连接 2 private bool IsSocketConnected(Socket client) 3 { 4 bool blockingState = client.Blocking; 5 try 6 { 7 byte[] tmp = new byte[1]; 8 client.Blocking = false; 9 ... 阅读全文
posted @ 2012-08-02 00:05 Lekko.Li 阅读(14340) 评论(3) 推荐(0) 编辑
摘要: 这几天都有事,一直没更新博客,有个内容我早就想好了,可是也没空来写。 在WPF中,我们经常要用到BeginInvoke、Invoke来更新前台界面,实际上都是Post一个Message给了UI线程,然后由UI线程来操作界面更新,只不过BeginInvoke是无阻塞异步式的Post,而Invoke是在Post后使用WaitHandle来阻塞了当前线程直到UI线程处理Message后才返回。 现在我遇到的问题是使用委托的BeginInvoke方法来执行多线程的操作时,其返回值是乱序的。一般而言,乱序是很正常的,因为它本身是个异步方法,调用、返回顺序本身就是随机的,可是在一些情况下,这会存在... 阅读全文
posted @ 2012-08-01 14:12 Lekko.Li 阅读(3383) 评论(2) 推荐(1) 编辑
摘要: 用过一段时间的Prism4了,刚开始很不习惯,现在感觉这种松耦合机制是有它的道理。现在便是想整理一些东西出来,方便记忆吧。我们在实现MVVM模式的时候,前台View和后台ViewModel的交互就是通过绑定来实现的,其中控件触发事件的绑定有几种情况: 第一种,控件继承自ButtonBase、MenuItem类,比如:Button、RadioButton、Hyperlink、MenuItem……这种情况下,由于Prism已经帮我们实现了这些控件的Command属性,可以直接绑定Command属性来完成Click事件到ViewModel的绑定: <Button Content="确 阅读全文
posted @ 2012-07-25 13:45 Lekko.Li 阅读(2760) 评论(3) 推荐(2) 编辑
摘要: 开发前台的朋友都知道,尽管我们就算用CSS2.0的东西,仍然会有诸多问题,开发一个兼容良好的页面,我们身边常备的必然是IETester这款神器,它可以帮我们测试各种IE版本的情况下,我们的页面到底怎么样,然后它有一些JS、CSS查看功能。所以,做一个网站现在就兼容性就得调半天,结合IE、Firefox、Chrome来反复看外观是经常的事。好吧,来讲来我的经历吧,很久以前我在图书馆借过一本CSS Mastery的书,真心不错,然后我就踏上了这条悲剧的Web浏览器兼容之路。 主要讲下我经常遇到的问题: 1、3像素位移:IE6下的古老的问题,当对一个div用了float元素时,而div未使用... 阅读全文
posted @ 2012-07-24 10:59 Lekko.Li 阅读(2884) 评论(8) 推荐(4) 编辑
摘要: 今天写搜索界面,有许多值范围搜索的项,先是做了两个Textbox加两个Slider来实现选择起始->结束值的范围,后来发现这样用户操作性太不好,前台代码又很臃肿,干脆想办法写了个自定义的控件。首先来看下最终效果吧: 具体的交互基本就是左边框是起始值,右边框是终止值,它们数据的是和两个滑块绑定的,会互相更新。左边的滑块是不能拖到右边滑块之外的,同理右边也不能到左边,如果输入的值超出(小于)上限值(下限),则会把值取为上限值(下限)。 我的思路就是定义两个Slider,然后拼起来,哈哈!好吧,来看前台代码: 1 <UserControl x:Class="FS.Present 阅读全文
posted @ 2012-07-23 00:25 Lekko.Li 阅读(6176) 评论(6) 推荐(3) 编辑
摘要: VisualStudio 2010的界面默认是蓝色的,背景是白色,字体是宋体,这些设置习惯了还好,但是可能看多了不怎么舒服。而且如果以前是用VS 6.0的知道,它使用的字体更为舒服清晰。所以,可以对VS 2010的界面做一次大换洗。 1、使用界面主题 在微软VisualStudio的官网下载一款名为Visual Studio Color Theme Editor的VS插件,双击安装后,便可以在VS的菜单栏中看到它(Theme)了。它默认有几款颜色的主题,不过这都不是我们想要的深色主题,点击“Theme->Customize Colors",在弹出对话框的工具栏中点击“New T 阅读全文
posted @ 2012-07-21 01:12 Lekko.Li 阅读(22863) 评论(4) 推荐(4) 编辑
摘要: 这本来是一篇时间比较久远的文章了,可是感觉既然来博客园了,也就贴出来吧。求矩阵的协方差,在很多地方都有用,我就是在用Matlab做数字图像处理时用到的这个。为了理解,我看了一下午的书,什么线性代数,什么概率论都被我翻出来了,把思路贴一下吧:一、定义设n维随机变量(X1,X2,...,Xn)的协方差 c(i,j) = cov(X(i),X(j)) = E{[X(i)-E(X(i))][X(j)-E(X(j))]} i,j=1,2,...,n (E是期望,即平均值)都存在,则称矩阵 c(1,1) c(1,2) ... c(1,n) c(2,1) c(2,2) ... c(2,n)C = . ... 阅读全文
posted @ 2012-07-20 12:38 Lekko.Li 阅读(1233) 评论(0) 推荐(0) 编辑
摘要: 在WPF中的ListView非常强大,利用各种Template可以实现许多自定义的样式与功能,今天遇到一个自定义选中样式的问题,弄了半天才找到解决方法,分享给大家。 前台XAML代码: 1 <ListView Grid.Row="1" Name="LV_Test" SelectionMode="Multiple" Background="{x:Null}"> 2 <ListView.Template> 3 <ControlTemplate> 4 <Border Corner 阅读全文
posted @ 2012-07-20 09:36 Lekko.Li 阅读(11676) 评论(1) 推荐(5) 编辑