DataGridView控件用法合集

DataGridView控件用法合集

DataGridView控件用法合集(十一)


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

[VB.NET]

''' <summary>

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

''' </summary>

Public Class DataGridViewErrorIconColumn

    Inherits DataGridViewImageColumn

    Public Sub New()

        Me.CellTemplate = New DataGridViewErrorIconCell()

        Me.ValueType = Me.CellTemplate.ValueType

    End Sub

End Class

''' <summary>

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

''' </summary>

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;

/// <summary>

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

/// </summary>

public class DataGridViewErrorIconColumn : DataGridViewImageColumn

{

    public DataGridViewErrorIconColumn()

    {

        this.CellTemplate = new DataGridViewErrorIconCell();

        this.ValueType = this.CellTemplate.ValueType;

    }

}

/// <summary>

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

/// </summary>

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个方法的代码只有图,就把代码贴在这里,仅供参考。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值