'宣言 Public Class ClipboardCopyingEventArgs Inherits ClipboardOperationEventArgs
public class ClipboardCopyingEventArgs : ClipboardOperationEventArgs
Imports Infragistics.Windows.DataPresenter Imports System.Globalization Private Sub grid_ClipboardCopying(ByVal sender As System.Object, ByVal e As Infragistics.Windows.DataPresenter.Events.ClipboardCopyingEventArgs) Dim dp As DataPresenterBase = DirectCast(sender, DataPresenterBase) Dim notPercentField As Field = dp.DefaultFieldLayout.Fields("NotPercent") Dim fldIndex As Integer = e.GetSourceFieldIndex(notPercentField) ' the not percent field displays in exponential but to output the ' value in another format, we can change the value of the associated ' cell value holders If fldIndex >= 0 Then For i As Integer = 0 To e.RecordCount - 1 Dim cvh As CellValueHolder = e.Values(i, fldIndex) If Not cvh Is Nothing AndAlso Not cvh.IsDisplayText AndAlso TypeOf cvh.Value Is Double Then Dim dblValue As Double = CType(cvh.Value, Double) cvh.Value = dblValue.ToString("R") cvh.IsDisplayText = True End If Next End If End Sub Private Sub grid_InitializeRecord(ByVal sender As System.Object, ByVal e As Infragistics.Windows.DataPresenter.Events.InitializeRecordEventArgs) If Not e.ReInitialize Then Dim dr As DataRecord = TryCast(e.Record, DataRecord) If Not dr Is Nothing Then dr.Cells("NotPercent").Value = 0.25 End If End If End Sub
using Infragistics.Windows.DataPresenter; using System.Globalization; private void grid_ClipboardCopying(object sender, Infragistics.Windows.DataPresenter.Events.ClipboardCopyingEventArgs e) { DataPresenterBase dp = sender as DataPresenterBase; Field notPercentField = dp.DefaultFieldLayout.Fields["NotPercent"]; int fldIndex = e.GetSourceFieldIndex(notPercentField); // the not percent field displays in exponential but to output the // value in another format, we can change the value of the associated // cell value holders if (fldIndex >= 0) { for (int i = 0, count = e.RecordCount; i < count; i++) { CellValueHolder cvh = e.Values[i, fldIndex]; if (null != cvh && !cvh.IsDisplayText && cvh.Value is double) { double dblValue = (double)cvh.Value; cvh.Value = dblValue.ToString("R"); cvh.IsDisplayText = true; } } } } private void grid_InitializeRecord(object sender, Infragistics.Windows.DataPresenter.Events.InitializeRecordEventArgs e) { if (!e.ReInitialize) { DataRecord dr = e.Record as DataRecord; if (null != dr) { dr.Cells["NotPercent"].Value = .25d; } } }