FLAHunter's Blog

专注于.net

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

       这几天网络老是出问题,所以懒得上博客,经过前两天的努力终于把企业销售管理系统搞定了.......虽然说很累..但确实学到了不少好东东.界面如下:

总体是想仿照windows优化大师那种导航栏加面版的样式.......感觉还不错.
左边的导航条是用了网上一个NavBarControl的控件.里边有很多种样式,我随意选了一个XP样式的.可以自动拉伸,中间我也用了一个splitter控件,查了下MSDN,是一个根据导航条的长度可以手动水平拉伸了..windows资源管理器其实就用到了这个控件.主界面花了我好长时间.....一开始左边老是跳不出子窗口,说什么它的MdiPartent不是MdiContainer,查了半天..终于发现原来是窗口构造时默认this.MdiContainer=false;改过来了之后由于怕界面有大有小所以全设为Form.WindowState=FormWindowState.Maximize().这样界面就美观多了
最上面的是用了MainMenu的控件,以前没用过...觉得还不错....
  下面就是各模块的代码设计了..整体来说不是很难,和图书管理系统差不多.就当是巩固喽.
但这次我懂得如何是程序更健壮,更有结构感,可扩展性更强,我把那些常用的方法全都定义在一个  BuzinessRule层里,这样其他地方也可以调用..以后更改也会很方便.还有这次用到了存储过程,不像上次手工查询数据.这样更方便更有扩展性..但程序代码也多了不少.主要是以下几句

SqlCommand mycom = new SqlCommand();
            mycom.Connection 
= this.sqlConnection1;
            mycom.CommandType 
= CommandType.StoredProcedure;
            mycom.CommandText 
= "StoredProcedureProBuy";

然后是定义输入输出参数了.比如
SqlParameter parinputProID = mycom.Parameters.Add("@ProID",SqlDbType.Char);
            parinputProID.Direction 
= ParameterDirection.Input;

            SqlParameter parinputStartTime 
= mycom.Parameters.Add("@StartTime",SqlDbType.DateTime);
            parinputStartTime.Direction 
= ParameterDirection.Input;
            parinputStartTime.Value 
= this.dateTimePicker1.Value;

            SqlParameter parinputEndTime 
= mycom.Parameters.Add("@EndTime",SqlDbType.DateTime);
            parinputEndTime.Direction 
= ParameterDirection.Input;
            parinputEndTime.Value 
= this.dateTimePicker2.Value;

            SqlParameter paroutputTotalNumber 
= mycom.Parameters.Add("@TotalNumber",SqlDbType.Int);
            paroutputTotalNumber.Direction 
= ParameterDirection.Output;

            SqlParameter paroutputTotalProfit 
= mycom.Parameters.Add("@TotalProfit",SqlDbType.Float);
            paroutputTotalProfit.Direction 
= ParameterDirection.Output;

然后还有打开连接执行...虽然烦了一点,但也无所谓啦.

接着学到一个创建DataTable填充数据集然后绑定DataGrid在界面上显示

ProID = new DataColumn();
            ProID.DataType 
= typeof(string);
            ProID.ColumnName 
= "ProID";
            ProID.Caption 
= "商品号码";
            ProID.ReadOnly 
= true;
            ProID.Unique 
= true;
            ProfitAnalyse.Columns.Add(ProID);

定义表中的每一列,再加入表中....挺方便.

 

posted on 2005-07-20 10:20  FLAHunter的咖啡屋  阅读(3122)  评论(65编辑  收藏  举报