1. 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("测试");

posted on 2010-09-04 14:42  forrestsun  阅读(1199)  评论(0编辑  收藏  举报