提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2012-10-09 14:01:54.000|阅读 2693 次
概述:XtraGrid的关键类就是:GridControl和GridView。GridControl本身不显示数据,数据都是显示在 GridView/CardView/XXXXView中。GridControl是各类View的容器。所以要把握显示,要从GridView这些类入 手。关于GridControl与GridView的关系,我不说了。下面给出一段代码。实际应用中常用到。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
XtraGrid的关键类就是:GridControl和GridView。
GridControl本身不显示数据,数据都是显示在 GridView/CardView/XXXXView中。GridControl是各类View的容器。所以要把握显示,要从GridView这些类入 手。
关于GridControl与GridView的关系,我不说了。下面给出一段代码。实际应用中常用到。
public Form2() { InitializeComponent(); //不显示内置的导航条。 gc1.UseEmbeddedNavigator = false; //不显示分组的面板 gv1.OptionsView.ShowGroupPanel = false; gv2.OptionsView.ShowGroupPanel = false; //主动改变行高适应内容 gv1.OptionsView.RowAutoHeight = true; gv2.OptionsView.RowAutoHeight = true; //容许主动归并单位格 gv1.OptionsView.AllowCellMerge = true; //若是主从表中,没有找到从表内容也要显示(默认是不显示的) gv1.OptionsDetail.AllowExpandEmptyDetails = true; //显示主动筛选行(结果跟Excel的主动筛选差不久不多) gv2.OptionsView.ShowAutoFilterRow = true; //使得GridView不克不及编辑 gv1.OptionsBehavior.Editable = false; gv2.OptionsBehavior.Editable = false; //内置编辑器显示的模式 gv1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; //主从表显示的功能是否可用 //gv1.OptionsDetail.EnableMasterViewMode = false; //若是显示了主从表,每点开个加号,就会显示一个Tabs,里面往往显示了两个面板。 //事实上没须要如许干的。一般选择封闭。封闭的对象是主GridView的此项属性。 gv1.OptionsDetail.ShowDetailTabs = false; } private void btnExit_Click(object sender, EventArgs e) { this.Close(); } private void btnOk_Click(object sender, EventArgs e) { //设置连接字符串 DbHelperSQL.ConnectionString = DbHelperSQL.CreateConnectionString(@"BUDDHAS/SQLEXPRESS", "sa", "00000", "RTDMES"); DataSet ds = new DataSet(); //父GridView的数据 string sql = " sc_prno,sc_prna mespb04h"; DbHelperSQL.QueryD(sql,ds,"main"); //子GridView的数据 sql = " pa_name,pa_no,sc_prno mespb09h"; DbHelperSQL.QueryD(sql,ds,"son"); //这个是显示主从表的关键,一、GridControl经由过程搜检DataSet.Relations的内容来解析数据 //二、关键名必须与设计GridView的层级关系的level name雷同,不然,成果在料想之外。 DataRelation relation = new DataRelation("aa", ds.Tables["main"].Columns["sc_prno"], ds.Tables["son"].Columns["sc_prno"]); ds.Relations.Add(relation); //这也是一个关键,不克不及直接设为:ds,必须指明到表。 gc1.DataSource = ds.Tables["main"]; }
上方的代码是显示一个主从表。显示主从表有些技能。文档中还没有说出来,俺摸索了一个晚上才搞出来。像上方看到的,事实上很简单。
上方DbHelperSQL是我从CodeMatic 2.0中搞出来的,我本身批改了一下。
一、显示主从表,这个解决了。
二、分组显示,这是报表中经常要用到的,GridView的解决规划很简捷,只需将响应列的GroupIndex属性设一下就成了:
在gridcontrol上击右键,选run designer进入设计模式。在columns栏内点retrieve fields将数据源中所有字段导入进来。
点需要分组的字段,在其属性栏的groupindex依次设为0,1..,在不须要分组的字段上对峙-1不变。
进入feature browse/summary /group sammary /summary items中增长要分组进行统计的字段。这里要设其fieldname字段名,showingroupcolumnfooter 显示在哪一栏位,sammarytype显示分组后统计的字段是进行sum(乞降,求均匀,最大值,最小值等)
在grouping /behavior /grneral /可设两个属性
同样在feature browse/summary /total sammary 这些不是针对分组,而是针对所有行。在summaryitem中对要处理惩罚的列进行设置,首要设置须要处理惩罚列的column,summarytype.
当然设好后要将optionview的showfooter属性设为true,表格底部会呈现一summary行。
补:还有三个属性须要用,我们查询的成果一般是只读的,并且对每一个单位格最好无核心,故可同时选所有字段,设allowedit为false;allowfocus为false;readonly为true;
为XtraGrid的GridView加行号。示例代码如下:
//设置行指导器的宽度(行指导器就是最左边那列什么都不显示的列) //默认景象下,若是要在里面显示行号的话,宽度会不足,数字显示不清楚 //所以要改一下宽度 gv1.IndicatorWidth = 20; private void gv1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.Info.IsRowIndicator && e.RowHandle >= 0) { e.Info.DisplayText = (e.RowHandle + 1).ToString().Trim(); } }
常用代码:
//添加分组统计字段 gridView1.GroupSummary.Add(SummaryItemType.Count, "Product Name", gridView1.Columns["Product Name"]); gridView1.GroupSummary.Add(SummaryItemType.Average, "Unit Price", gridView1.Columns["Unit Price"]); //设置分组统计字段的显示格局 ((GridSummaryItem)gridView1.GroupSummary[gridView1.GroupSummary.Count - 1]).DisplayFormat = "AVR={0:c}"; //设置分组字段 gridView1.Columns["Discontinued"].GroupIndex = 0; //打开所有分组 gridView1.ExpandAllGroups(); //为控件画边框 ControlPaint.DrawBorder3D(e.Graphics, r, (e.Info.State == DevExpress.Utils.Drawing.ObjectState.Pressed ? Border3DStyle.SunkenOuter : Border3DStyle.RaisedInner)); //核心单位格的列 gridview1.FocusedColumn //核心单位格地点行的行号 gridview1.FocusedRowHandle //核心单位格的值 gridview1.FocusedValue //指定单位格显示的字符串值 gridview1.GetRowCellDisplayText(int rowHandler,string feildName) //指定单位格的值 gridview1.GetRowCellValue(int rowHandler,string feildName) //设置核心单位格地点行指定列的值 gridview1.SetFocusedRowCellValue(GridColumn col,object value) //设置核心单位格的值 gridview1.SetFocusedValue(object value) //设置指定单位格的值 //有了这个函数,就可以手工创建行了。 gridview1.SetRowCellValue(int rowHandler,string feildName,object value) gridview1.SetRowCellValue(int rowHandler,GridColumn col,object value) //添加新行的办法 gv1.AddNewRow(); foreach (GridColumn col in gv1.Columns) { //用RowCount-1的办法是不可的 //gv1.SetRowCellValue(gv1.RowCount-1, col, "aaaaa"); gv1.SetRowCellValue(gv1.FocusedRowHandle, col, "aaaaa"); } gv1.UpdateCurrentRow(); //按照绑定的数据源主动产生列 gv1.PopulateColumns(); //为列添加下拉列表(加其他类型如日期、UpDown同理) RepositoryItemLookUpEdit ri = new RepositoryItemLookUpEdit(); //ri.PopupWidth = 200; ri.DisplayMember = "sc_prna"; ri.ValueMember = "sc_prno"; DataTable dt1 = DbHelperSQL.QueryT(" sc_prno,sc_prna mespb04h"); ri.DataSource = dt1; gv1.Columns["sc_prno"].ColumnEdit = ri;
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢