原創(chuàng)|其它|編輯:郝浩|2012-09-06 14:06:57.000|閱讀 816 次
概述:示例的形式展示如何根據參數類型自定義編輯器,用以替代標準的參數編輯器。這份示例報表將從LightSwitch查詢中獲得參數,根據所獲得的參數,客戶列表將可以顯示國籍。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
下面我們以示例的形式展示如何根據參數類型自定義編輯器,用以替代標準的參數編輯器。這份示例報表將從LightSwitch查詢中獲得參數,根據所獲得的參數,客戶列表將可以顯示國籍。
根據這個參數類型,XtraReports創(chuàng)建一個默認的文本框編輯器,終端用戶更方便的使用參數,你可以將這個編輯器改編為ComboBoxEditRepor,存在于tPreviewModel中的CustomizeParameterEditors事件處理程序。
以下是代碼演示:
C#
using System.Collections.Generic;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Printing;
// ...
namespace LightSwitchApplication {
public partial class ReportPreviewScreen {
public void CustomizeReportPreviewModel(ReportPreviewModel model) {
model.CustomizeParameterEditors += model_CustomizeParameterEditors;
}
List<object> customers;
void model_CustomizeParameterEditors(object sender, CustomizeParameterEditorsEventArgs e) {
if (e.Parameter.Name == "Country") {
var editor = new ComboBoxEdit();
editor.ItemsSource = customers;
editor.IsTextEditable = false;
e.Editor = editor;
e.BoundDataMember = "EditValue";
}
}
partial void ReportPreviewScreen_Activated() {
this.ReportTypeName = "XtraReport1";
customers = new List<object>();
foreach (Customer customer in new DataWorkspace().NorthWind_XtraReportsData.Customers) {
customers.Add(customer.Country);
}
}
}
}
VB
Imports System.Collections.Generic
Imports DevExpress.Xpf.Editors
Imports DevExpress.Xpf.Printing
' ...
Namespace LightSwitchApplication
Partial Public Class ReportPreviewScreen
Public Sub CustomizeReportPreviewModel(ByVal model As ReportPreviewModel)
AddHandler model.CustomizeParameterEditors, AddressOf model_CustomizeParameterEditors
End Sub
Private customers As List(Of Object)
Private Sub model_CustomizeParameterEditors(ByVal sender As Object, ByVal e As CustomizeParameterEditorsEventArgs)
If e.Parameter.Name = "Country" Then
Dim editor = New ComboBoxEdit()
editor.ItemsSource = customers
editor.IsTextEditable = False
e.Editor = editor
e.BoundDataMember = "EditValue"
End If
End Sub
Private Sub ReportPreviewScreen_Activated()
Me.ReportTypeName = "XtraReport1"
customers = New List(Of Object)()
For Each customer As Customer In New DataWorkspace().NorthWind_XtraReportsData.Customers
customers.Add(customer.Country)
Next customer
End Sub
End Class
End Namespace
報表現在準備好了。運行該應用程序,選擇并得到結果。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡資源翻譯