当前位置: 首页 > news >正文

单位网站建设维护情况报告营销渠道策略怎么写

单位网站建设维护情况报告,营销渠道策略怎么写,wordpress 密码看贴,做男女的那个视频网站转#xff1a;http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能#xff0c;可以通过点击表头上的下拉列表来实现数据的过滤#xff0c;这个功能很实用#xff0c;省去了我们需要在程序中单独设计数据的查询过滤模块#xff0c…转http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能可以通过点击表头上的下拉列表来实现数据的过滤这个功能很实用省去了我们需要在程序中单独设计数据的查询过滤模块功能直接依赖于数据绑定控件DataGridView。先来看看Excel中的数据过滤功能。  要想在DataGridView中实现类似于Excel的这种功能其实也并非难事。来看看msdn上的一篇文章上面有详细的介绍不过目前只有全英文的版本。http://msdn.microsoft.com/en-us/library/aa480727.aspx。里面提供的下载示例我这里也可以提供一份DataGridViewAutoFilter.zip   文章讲了很多有关如何实现数据过滤的知识如果你有耐心可以通读一遍应该能有不小的收获。其实这里面的原理就是我们需要自定义一种DataGridViewColumn它能支持用户通过点击表头上的下拉列表来实现DataGridView的数据过滤。自定义的DataGridViewColumn可以继承自现有的DataGridViewTextBoxColumn类型另外还需要自定义一个继承自DataGridViewColumnHeaderCell的类型它负责在DataGridView表头上呈现一个下拉列表并完成数据过滤的选择功能。下载上面的DataGridViewAutoFilter.zip压缩包将里面对应编程语言中的DataGridViewAutoFilterColumnHeaderCell.cs和DataGridAutoFilterTextBoxColumn.cs两个文件加入到你的工程中。然后需要重新定义DataGridView中的列如果你是手动指定DataGridView的列则需要在窗体的Designer.cs文件中手动修改与DataGridView列相关的代码或者你也可以通过程序动态指定DataGridView的列。将需要显示数据过滤的列的类型指定为DataGridViewAutoFilterTextBoxColumn类型。另外在绑定DataGridView数据源时必须使用BindingSource而不能使用如DataTable之类的普通数据源这一点非常重要在后面的代码展示中你将会看到为什么要这么做。   这里是具体的例子 public Form1() {InitializeComponent();// create sequence Item[] items new Item[] { new Book{Id 1, Price 13.50, Genre Comedy, Author Jim Bob}, new Book{Id 2, Price 8.50, Genre Drama, Author John Fox}, new Movie{Id 1, Price 22.99, Genre Comedy, Director Phil Funk},new Movie{Id 1, Price 13.40, Genre Action, Director Eddie Jones}};var query from i in itemsorderby i.Priceselect i;DataTable table query.CopyToDataTable();BindingSource source new BindingSource();source.DataSource table;foreach (DataColumn col in table.Columns){DataGridViewAutoFilterTextBoxColumn commonColumn new DataGridViewAutoFilterTextBoxColumn();commonColumn.DataPropertyName col.ColumnName;commonColumn.HeaderText col.ColumnName;commonColumn.Resizable DataGridViewTriState.True;this.dataGridView1.Columns.Add(commonColumn);} this.dataGridView1.DataSource source; } 代码中的第16行将LINQ的查询结果转换成了DataTable对象相关内容大家可以看我的另一篇文章“如何将LINQ查询到的结果由匿名类型var转换成DataTable对象”。另外代码中将DataGridView的所有列的类型指定成了DataGridViewAutoFilterTextBoxColumn使其能够支持自定义的数据过滤功能。好了现在运行你的应用程序将会看到表头上有下拉列表的小箭头点击它并选择下拉列表中的项便可实现DataGridView数据的排序。是不是很酷啊不过这里还有一个小问题那就是用户如何知道我当前选择了哪个列的数据过滤界面是不是应该给出相应的数据过滤信息呢我们可以在窗体的StatusStrip控件中添加一些Label标签用来显示这些信息   1. 显示用户当前选择了多少行。这个需要将DataGridView的SelectionMode属性设置成行选择模式即FullRowSelect。   2. 显示当前DataGridView一共有多少行。   3. 显示Filter的信息及应用数据过滤之后的总行数。   4. 添加一个按钮或链接用于移除当前的Filter。   来看看具体的实现代码及程序运行时的效果 private void dataGridView1_SelectionChanged(object sender, EventArgs e) {int iCount this.dataGridView1.SelectedRows.Count;this.toolStripStatus_SelectedRows.Text string.Format({0} row{1} selected, iCount.ToString(), iCount 1 ? s : ); }private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) {BindingSource data this.dataGridView1.DataSource as BindingSource;if (data null || data.DataSource null){return;}/* Show total records number*/// Retrieve the unfiltered row count by // temporarily unfiltering the data.data.RaiseListChangedEvents false;String oldFilter data.Filter;data.Filter null;int iTotalNum data.Count;this.toolStripStatus_Total.Text string.Format(Total of {0} record{1}., iTotalNum.ToString(), iTotalNum 1 ? s : );data.Filter oldFilter;data.RaiseListChangedEvents true;/* Show filter information.*/int iFilterNum data.Count;string filter data.Filter;if (String.IsNullOrEmpty(filter)){this.toolStripStatus_Separator2.Visible false;this.toolStripStatus_Filter.Visible false;this.toolStripStatus_ShowAll.Visible false;}else{this.toolStripStatus_Separator2.Visible true;this.toolStripStatus_Filter.Visible true;this.toolStripStatus_ShowAll.Visible true;this.toolStripStatus_Filter.Text string.Format({0} record{1} found., iFilterNum.ToString(), iFilterNum 1 ? s : );this.toolStripStatus_Filter.Text (Filter: filter );} }private void toolStripStatus_ShowAll_Click(object sender, EventArgs e) {DataGridViewAutoFilterColumnHeaderCell.RemoveFilter(this.dataGridView1); }   1. 当前用户选择的总行数。   2. DataGridView中一共有多少行。   3. Filter的信息及使用Filter之后的数据行数。   4. 用于移除Filter的链接。   代码中一共是三个事件dataGridView1_SelectionChanged事件用于在DataGridView行被选择时触发用来更新StatusStrip中当前用户选择的总行数dataGridView1_DataBindingComplete事件在DataGridView数据完成绑定时触发用来更新StatusStrip中Filter的信息及使用Filter之后的数据行数以及DataGridView的数据总行数注意其中将BindingSource的RaiseListChangedEvents设置为false以取得DataGridView数据源中的真实数据行数之后再将其设置为true以获取到Filter的相关信息toolStripStatus_ShowAll_Click事件为用户点击Show All链接时触发用于移除DataGridView中的Filter。 这里是完整的代码 http://pan.baidu.com/s/1eRZiw8M
http://wiki.neutronadmin.com/news/108008/

相关文章:

  • 做外贸网站哪家好外国人搞笑做视频网站
  • 聊城网站营销信息做网站的公司合肥
  • 网站需要流量深圳市建设管理中心网站首页
  • 呼和浩特住房和城乡建设部网站网页浏览器软件
  • 太仓营销型网站建设免费网站转app
  • jsp商业网站开发做网站建网站
  • 百度不做网站外链是什么原因wordpress背景图案轮流
  • 网站上有什么作用全国文明城市创建内容
  • 常用的网站开发平台api模板创作师
  • 网站301跳转效果网页设计模板代码网站
  • 免费建站工具有哪些平台怎么推广
  • 律师网站建设推荐做网络营销推广
  • 中国建设银行官方网站汇率广州高端品牌网站建设
  • 企业网站用什么套站三好街做网站的公司
  • 商务网站开发基本流程建设银行网站的机构
  • thinkphp企业网站开发公司怎么建网站做推广
  • 无锡工程建设监察支队网站买一个网站多少钱
  • 手机网站建设软件有哪些wordpress可视化编辑器不见
  • 国内网站排名电脑上如何进入wordpress
  • dw用设计视图做网站平台设计实景图
  • 器材管理网站开发东莞常平医院网站建设
  • 电子商务网站设计与开发案例教程网站做315认证
  • 网站 跑马灯图片怎么做网站推广工作总结
  • 工业园企业建设网站公司网站快照不更新了
  • 品牌高端网站设计颇有名气的网站建设专家
  • 宁波技术好的企业网站制作wordpress 订阅推送
  • 培训会网站建设广东各地最新病例
  • 沈阳工程学院信息公开网大连百度推广排名优化
  • php网站建设到护卫神wordpress橫排友情链接
  • lol网站怎么做网站聚合页