- XtraReport
- 纸张方向改变: Landscape=true/false
- 默认纸张输出: PaperKind=A4
- 变距改变: Margins=100,100,100,100
- 页码显示: 工具栏选择 DX.9.3 Report Control中的XRPageInfo,可通过控件属性中的Format设计相应格式,例:Page {0} of {1}
- 页面显示行数控制:调用xrPageBreak控件,具体帮助 :http://documentation.devexpress.com/#XtraReports/CustomDocument5283
([DataSource.CurrentRowIndex] %[Parameters.parameter1]== 0) And ([DataSource.CurrentRowIndex] != 0)
- 窗体向报表传参:与窗体间传参相同
- 在报表格式一纸但一页纸打不下需要做多个表,或需要一样的表头或LOGO时可采用继承表的方式进行页面设计
- 对个表格数据源一样式也可以采用继承方式进行设计,同时可以在母表中将各种计算工式进行统一管理,而不需要在各表中处理,增加了可维护性
2. XtraGrid
- 行锁定
未发现XtraGrid有此功能,但可能过控件事件来实现类似功能:
代码:
private void gridViewMain_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e)
{
GridView view = sender as GridView;
if (Convert.ToString(view.GetRowCellValue(view.FocusedRowHandle, colLOCK_IF)) == "是")
{
e.Cancel = true;
}
}
- 数据更新1
问题:GRID中需要一个全选功能,但在代码实现后发现最后一个总是无法选择上
解决:后发现通过 PostEditor()方法可以将最终数据提交
- 数据更新2
问题:数据在前台GRID中进行编辑,但最后一个获取到焦点的控件数据在保存时会丢失
解决办法:在数据保存时实现 PostEditor()方法,在CellValueChanged事件中实现下面的方法(注意根据自己对GRIDVIEW的命名不同而不同)
gridViewMain.CloseEditor();
gridViewMain.UpdateCurrentRow();
3.XtraBar
1、XtraBarEditItem
问题:在toolbar中加入lookupEdit,需要通过代码实现lookupEdit中项目自动选择
解决办法:假设gridLKDept已绑定数据源,同时数据源中的DISPLAYMEMBER的数据中有"测试"这样的文本数据
lkItem:Devexpress.XtraBars.BarEditItem
gridLKDept:LookUpEdit(在lkItem中内置)
实现代码: lkItem.EditValue = gridLKDept.GetKeyValueByDisplayText("测试");