DataGridView控件用法合集

DataGridView控件用法合集

DataGridView控件用法合集(十一)


56. DataGridView根据值不同在另一列中显示相应图片

[VB.NET]

'''

''' セルの値により、適当なアイコンを表示する

'''

Public Class DataGridViewErrorIconColumn

    Inherits DataGridViewImageColumn

    Public Sub New()

        Me.CellTemplate = New DataGridViewErrorIconCell()

        Me.ValueType = Me.CellTemplate.ValueType

    End Sub

End Class

'''

''' セルの値により、適当なアイコンを表示する

'''

Public Class DataGridViewErrorIconCell

    Inherits DataGridViewImageCell

    Public Sub New()

        Me.ValueType = GetType(Integer)

    End Sub

    Protected Overrides Function GetFormattedValue( _

        ByVal value As Object, ByVal rowIndex As Integer, _

        ByRef cellStyle As DataGridViewCellStyle, _

        ByVal valueTypeConverter As System.ComponentModel.TypeConverter, _

        ByVal formattedValueTypeConverter As System.ComponentModel.TypeConverter, _

        ByVal context As DataGridViewDataErrorContexts) As Object

        '値が0の時は情報、1の時は警告、2の時はエラーアイコンを表示する

        Select Case CInt(value)

            Case 1

                Return SystemIcons.Information

            Case 2

                Return SystemIcons.Warning

            Case 3

                Return SystemIcons.Error

            Case Else

                Return Nothing

        End Select

    End Function

    Public Overrides ReadOnly Property DefaultNewRowValue() As Object

        Get

            Return 0

        End Get

    End Property

End Class

[C#]

using System;

using System.ComponentModel;

using System.Windows.Forms;

///

/// セルの値により、適当なアイコンを表示する

///

public class DataGridViewErrorIconColumn : DataGridViewImageColumn

{

    public DataGridViewErrorIconColumn()

    {

        this.CellTemplate = new DataGridViewErrorIconCell();

        this.ValueType = this.CellTemplate.ValueType;

    }

}

///

/// セルの値により、適当なアイコンを表示する

///

public class DataGridViewErrorIconCell : DataGridViewImageCell

{

    public DataGridViewErrorIconCell()

    {

        this.ValueType = typeof(int);

    }

    protected override object GetFormattedValue(

        object value, int rowIndex,

        ref DataGridViewCellStyle cellStyle,

        TypeConverter valueTypeConverter,

        TypeConverter formattedValueTypeConverter,

        DataGridViewDataErrorContexts context)

    {

        //値が0の時は情報、1の時は警告、2の時はエラーアイコンを表示する

        switch ((int)value)

        {

            case 1:

                return SystemIcons.Information;

            case 2:

                return SystemIcons.Warning;

            case 3:

                return SystemIcons.Error;

            default:

                return null;

        }

    }

    public override object DefaultNewRowValue

    {

        get

        {

            return 0;

        }

    }

}

 

用法如下

[VB.NET]

'DataGridViewErrorIconColumnを作成

 Dim iconColumn As New DataGridViewErrorIconColumn()

 'Column1列(整数型)をバインドする

 iconColumn.DataPropertyName = "Column1"

 'DataGridViewに追加

 DataGridView1.Columns.Add(iconColumn)

[C#]

//DataGridViewErrorIconColumnを作成

DataGridViewErrorIconColumn iconColumn =

    new DataGridViewErrorIconColumn();

//Column1列(整数型)をバインドする

iconColumn.DataPropertyName = "Column1";

//DataGridViewに追加

DataGridView1.Columns.Add(iconColumn);

 

 

看到有的DataGridView控件用法合集下载文件中没有第56个方法的代码只有图,就把代码贴在这里,仅供参考。

 

 

 

你可能感兴趣的:(vb.net应用,object,vb.net,class,integer,function,c#)