原創(chuàng)|其它|編輯:郝浩|2012-11-12 17:31:50.000|閱讀 3643 次
概述:有時(shí)因?yàn)槟撤N原因,可能需要隱藏一些信息。下面的示例演示了如何運(yùn)用CustomFieldValueCells事件隱藏特定的行和列。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
有時(shí)因?yàn)槟撤N原因,可能需要隱藏一些信息。下面的示例演示了DevExpress XtraPivotGrid如何運(yùn)用CustomFieldValueCells事件隱藏特定的行和列。
代碼如下:
C#
using System; using System.Globalization; using System.Windows.Forms; using DevExpress.XtraPivotGrid; namespace XtraPivotGrid_HidingColumnsAndRows { public partial class Form1 : Form { public Form1() { InitializeComponent(); pivotGridControl1.CustomFieldValueCells += new PivotCustomFieldValueCellsEventHandler(pivotGrid_CustomFieldValueCells); } void Form1_Load(object sender, EventArgs e) { PivotHelper.FillPivot(pivotGridControl1); pivotGridControl1.DataSource = PivotHelper.GetDataTable(); pivotGridControl1.BestFit(); } // Handles the CustomFieldValueCells event to remove // specific rows. protected void pivotGrid_CustomFieldValueCells(object sender, PivotCustomFieldValueCellsEventArgs e) { if (pivotGridControl1.DataSource == null) return; if (radioGroup1.SelectedIndex == 0) return; // Iterates through all row headers. for (int i = e.GetCellCount(false) - 1; i >= 0; i--) { FieldValueCell cell = e.GetCell(false, i); if (cell == null) continue; // If the current header corresponds to the "Employee B" // field value, and is not the Total Row header, // it is removed with all corresponding rows. if (object.Equals(cell.Value, "Employee B") && cell.ValueType != PivotGridValueType.Total) e.Remove(cell); } } void pivotGridControl1_FieldValueDisplayText(object sender, PivotFieldDisplayTextEventArgs e) { if(e.Field == pivotGridControl1.Fields[PivotHelper.Month]) { e.DisplayText = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName((int)e.Value); } } void radioGroup1_SelectedIndexChanged(object sender, EventArgs e) { this.pivotGridControl1.LayoutChanged(); pivotGridControl1.BestFit(); } } }
VB
Imports Microsoft.VisualBasic Imports System Imports System.Globalization Imports System.Windows.Forms Imports DevExpress.XtraPivotGrid Namespace XtraPivotGrid_HidingColumnsAndRows Partial Public Class Form1 Inherits Form Public Sub New() InitializeComponent() AddHandler pivotGridControl1.CustomFieldValueCells, _ AddressOf pivotGrid_CustomFieldValueCells End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load PivotHelper.FillPivot(pivotGridControl1) pivotGridControl1.DataSource = PivotHelper.GetDataTable() pivotGridControl1.BestFit() End Sub ' Handles the CustomFieldValueCells event to remove ' specific rows. Protected Sub pivotGrid_CustomFieldValueCells(ByVal sender As Object, _ ByVal e As PivotCustomFieldValueCellsEventArgs) If pivotGridControl1.DataSource Is Nothing Then Return End If If radioGroup1.SelectedIndex = 0 Then Return End If ' Iterates through all row headers. For i As Integer = e.GetCellCount(False) - 1 To 0 Step -1 Dim cell As FieldValueCell = e.GetCell(False, i) If cell Is Nothing Then Continue For ' If the current header corresponds to the "Employee B" ' field value, and is not the Total Row header, ' it is removed with all corresponding rows. If Object.Equals(cell.Value, "Employee B") AndAlso _ cell.ValueType <> PivotGridValueType.Total Then e.Remove(cell) End If Next i End Sub Private Sub pivotGridControl1_FieldValueDisplayText(ByVal sender As Object, _ ByVal e As PivotFieldDisplayTextEventArgs) _ Handles pivotGridControl1.FieldValueDisplayText If Object.Equals(e.Field, pivotGridControl1.Fields(PivotHelper.Month)) Then e.DisplayText = _ CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(CInt(Fix(e.Value))) End If End Sub Private Sub radioGroup1_SelectedIndexChanged(ByVal sender As Object, _ ByVal e As EventArgs) _ Handles radioGroup1.SelectedIndexChanged Me.pivotGridControl1.LayoutChanged() pivotGridControl1.BestFit() End Sub End Class End Namespace
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)