バージョン

CellValueHolder クラス

セル値を表す情報を含むクラス。
シンタックス
'宣言
 
Public Class CellValueHolder 
public class CellValueHolder 
使用例
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;
			}
		}
	}
xmlns:igDP="http://infragistics.com/DataPresenter"
xmlns:igEditors="http://infragistics.com/Editors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"

<igDP:XamDataGrid 
    
x:Name="grid" 
    
BindToSampleData="True"
    
InitializeRecord="grid_InitializeRecord"
    
ClipboardCopying="grid_ClipboardCopying">
    
<igDP:XamDataGrid.Resources>
        
<Style x:Key="expEditor" TargetType="{x:Type igEditors:XamTextEditor}">
            
<Setter Property="Format" Value="E" />
        
</Style>
    
</igDP:XamDataGrid.Resources>

    
<igDP:XamDataGrid.FieldLayoutSettings>
        
<igDP:FieldLayoutSettings 
            
AllowClipboardOperations="All"
            
CopyFieldLabelsToClipboard="False" />
    
</igDP:XamDataGrid.FieldLayoutSettings>
    
    
<igDP:XamDataGrid.FieldLayouts>
        
<igDP:FieldLayout>
            
<igDP:FieldLayout.Fields>
                
<igDP:Field Name="name" Label="Name"/>
                
<igDP:Field Name="salary" Label="$"/>
                
<igDP:Field Name="department" Label="Dept"/>
                
<igDP:Field Name="email" Label="Email"/>
                
<igDP:UnboundField Name="NotPercent">
                    
<igDP:UnboundField.Settings>
                        
<igDP:FieldSettings 
                            
EditAsType="{x:Type sys:Double}"
                            
EditorStyle="{StaticResource expEditor}" />
                    
</igDP:UnboundField.Settings>
                
</igDP:UnboundField>
            
</igDP:FieldLayout.Fields>
        
</igDP:FieldLayout>
    
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
参照