摘要:
先向各位拜个晚年。 今年过年期间都在想DRP的事,很多朋友也联系我,讨论技术问题的、谋求合作的、分析行业前景的、让我提供源码和数据库的都有。再次谢谢朋友们的关心。目前来说,在修改系统bug的同时,我打算重新找一份工作,毕竟在能力转换成财富之前,生活还是要继续。 Winform or WPF: 今天在 阅读全文
摘要:
发个牢骚,博客园发博文竟然不能写副标题。这篇既为我的服装DRP系列第二篇,也给为WCF增加UDP绑定系列收个尾。原本我打算记录开发过程中遇到的一些问题和个人见解,不过写到一半发现要写的东西实在太多,有些问题甚至不好描述,又担心误导读者,就作罢了。 说到即时通讯大伙都会第一时间想到QQ等聊天软件,似乎 阅读全文
摘要:
半年前,我辞掉朝八晚十的工作,告别研发部的兄弟和前台MM,意气风发地着手开发自己的服装ERP。之所以这么有魄力,是因为我对当前市场上几个主流服装软件颇不以为然,掂量着在服装企业干过的这几年,心说再不疯狂就太对不起当初放弃写字楼选择进厂房的自己了。 于是开始没日没夜地敲键盘,经历无数困惑、失望、愤怒、 阅读全文
摘要:
忘了为什么要把IEnumerable<T>转成DataTable,不过这个需求应该挺常见,恰好今天看到以前的一段代码,有些想法就记录下来。IEnumerable<T>中的T是泛型,咱们就不能事先知道T都有哪些属性,因此创建出来的DataTable也就不能预先设置列。遇到这种情况,首先就想到反射。 1 public static DataTable ToDataTable<T>(IEnumerable<T> collection) 2 { 3 var props = typeof(T).GetProperties(); 4 var dt = new 阅读全文
摘要:
有些事情看似简单,在进行的过程中往往遇到大的麻烦;有些问题小之又小,但躲在角落里窃笑的它能让你呕血数日。反正我不止一次遇到过这样的情况。日前我打算在产品中加入吊牌打印的功能,涉及到合格证的制作。大伙都有去商店里买衣服的经历,留意看吊牌的话会看到成分一栏里分成好几个类别,如面料、里料、夹层等,每一类别又有好几个物料占比信息,如面料包含70%的棉和30%的xx纤维。如何能让用户较为方便地设置这些信息呢?我原本打算采用自定义集合控件的方式,但是有些问题不好解决,部分难点问题记录在随笔WPF自定义集合控件概述与遇到的问题中。于是我老老实实采用为ListBox新建Template的方式,期望达到如下效果 阅读全文
摘要:
WPF中涉及到控件,那么就不可能绕过Template。首先咱们来看一下WPF中基础集合控件ItemsControl涉及到的几个Template。ItemsControl自身的Template,类型为ControlTemplate,其内部声明了一个ItemsPresenter用以呈现下述第2个Template。当我们为集合控件赋予自定义模板时,ItemsPresenter不可丢弃,否则就失去了集合控件的意义;ItemsPanel,类型为ItemsPanelTemplate,其内容一般为可拥有多个子项的布局控件,如StackPanel、Grid等;ItemTemplate,类型为DataTempl 阅读全文
摘要:
话说.Net已经发展到4.5了,大家对Lambda和Linq应该比较熟悉了。比如我们要取出产品集合里面SKU以"123"开头的产品集,就可以这么写:Products=Products.Where(p=>p.SKUCode.StartWith("123"));现下有这么个需求,用户输入以逗号分隔的字符串,求取SKU以分隔的字符串开头的产品集,如用户输入"123,234,456",那么就取出SKU以"123"开头或以"234"开头或以"456"开头的产品集合。于是我计上心头 阅读全文
摘要:
众所周知,在WPF中,我们可以使用DataTemplate灵活地设计UI来呈现绑定的数据,对于不同数据,我们还可以使用DataTemplateSelector选择不同的DataTemplate。但是有时候,这还不能满足需求。这又要说到我正在开发的服装DRP,这并非打广告,而是我阐述的知识点都是在实际项目中碰到的,而且通过项目也好说明问题。系统中有个报表叫下级订单分布,列出下级机构的订单量,如图:其中订单量相关的单元格中的数字表示的含义:黑色数字表示剩余订单量,红色上标数字表示总订单量-已发货量。毫无疑问,这需要DataTemplate来实现。问题是下级机构的数量是不定的,即GridView绑定 阅读全文
摘要:
这两天忙着系统其它功能的开发,没顾上写日志。本篇所述皆围绕为WCF增加UDP绑定(储备篇)中讲到的微软示例,该示例我已上传到网盘。 上篇说道,绑定是由若干绑定元素有序组成,为WCF增加UDP绑定其实就是为绑定增加UDP传输绑定元素,最终目的是在信道栈中生成UDP传输信道。因此我们定义一个类UdpTr 阅读全文
摘要:
IAsyncResult大伙都用的多吧,在异步编程的时候,我们通常根据它的IsCompleted属性来判断异步操作是否已完成。不过该接口还有另外一个属性CompletedSynchronously,MSDN的解释一如既往的简单(查阅MSDN的时候,往往能看懂它的文字,不理解它的意思,有同感的朋友举手。):获取异步操作是否同步完成的指示。异步操作,同步完成,到底啥意思呢。假如我是IAsyncResult接口的实现者,我该如何设置何时设置CompletedSynchronously的值呢?假如我是IAsyncResult接口实现类的使用者,CompletedSynchronously对于我来说又有 阅读全文