作成日: 2015/08/14 最終更新日: 2015/08/14
文書種別
使用方法
詳細
XAML上でC1FlexGridの列のDataTypeプロパティ等にnull許容型を指定する場合、System.Windows.Markup.TypeExtensionクラスを継承したNullableExtensionクラスを作成し、XAML上で
<c1:Column Header="ID" DataType="{local:Nullable sys:Int32}" />
のように実装することで、Int32のNullable型を表現できます。
◎サンプルコード(XAML)
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
<c1:Column Header="ID" DataType="{local:Nullable sys:Int32}" />
のように実装することで、Int32のNullable型を表現できます。
◎サンプルコード(XAML)
<c1:C1FlexGrid Name="c1FlexGrid">
<c1:C1FlexGrid.Columns>
<c1:Column Header="ID" DataType="{local:Nullable sys:Int32}"/>
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>
<c1:C1FlexGrid.Columns>
<c1:Column Header="ID" DataType="{local:Nullable sys:Int32}"/>
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>
◎サンプルコード(Visual Basic)
Public Class NullableExtension
Inherits TypeExtension
Public Sub New()
End Sub
Public Sub New(type As String)
MyBase.New(type)
End Sub
Public Sub New(type As Type)
MyBase.New(type)
End Sub
Public Overrides Function ProvideValue(serviceProvider As IServiceProvider) As Object
Dim basis As Type = CType(MyBase.ProvideValue(serviceProvider), Type)
Return GetType(Nullable(Of )).MakeGenericType(basis)
End Function
End Class
Inherits TypeExtension
Public Sub New()
End Sub
Public Sub New(type As String)
MyBase.New(type)
End Sub
Public Sub New(type As Type)
MyBase.New(type)
End Sub
Public Overrides Function ProvideValue(serviceProvider As IServiceProvider) As Object
Dim basis As Type = CType(MyBase.ProvideValue(serviceProvider), Type)
Return GetType(Nullable(Of )).MakeGenericType(basis)
End Function
End Class
◎サンプルコード(C#)
public class NullableExtension : TypeExtension
{
public NullableExtension()
{
}
public NullableExtension(string type)
: base(type)
{
}
public NullableExtension(Type type)
: base(type)
{
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
Type basis = (Type)base.ProvideValue(serviceProvider);
return typeof(Nullable<>).MakeGenericType(basis);
}
}
{
public NullableExtension()
{
}
public NullableExtension(string type)
: base(type)
{
}
public NullableExtension(Type type)
: base(type)
{
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
Type basis = (Type)base.ProvideValue(serviceProvider);
return typeof(Nullable<>).MakeGenericType(basis);
}
}
旧文書番号
81425