PowerTools MultiRow for Windows Forms 8.0J
Filtering メソッド (IFilteringCell)
使用例 

IFilteringCellの編集された書式設定値。
ターゲットセルの値。
ターゲットセルの親RowIndex。
IFilteringCellの編集された書式設定値で、指定したセルをフィルタリングします。
構文

パラメータ

editedFormattedValue
IFilteringCellの編集された書式設定値。
targetCellValue
ターゲットセルの値。
targetRowIndex
ターゲットセルの親RowIndex。

戻り値の型

targetValueがフィルタリングされた場合はtrue。それ以外の場合はfalse
使用例
次のサンプルコードは、このインタフェースを使用してフィルタリングセルをカスタマイズする方法を示します。このサンプルコードは、FilteringTextBoxCellクラスに示されている詳細なコード例の一部を抜粋したものです。
private Cell CreateComboBoxFilterCell()
{
    return new MyFileringComboBoxCell();
}

class MyFileringComboBoxCell : ComboBoxCell, IFilteringCell
{
    public MyFileringComboBoxCell()
    {
        this.Items.Add("");
        this.Items.Add("Leader");
        this.Items.Add("Developer");
        this.Items.Add("Tester");
    }

    public bool Filtering(object editedFormattedValue, object targetCellValue, int targetRowIndex)
    {
        if (object.Equals(editedFormattedValue, string.Empty) || object.Equals(editedFormattedValue, null))
        {
            return false;
        }
        return !object.Equals(editedFormattedValue, targetCellValue);
    }

    public int FilteringCellIndex
    {
        get { return 1; }
    }
}

private Cell CreateCheckBoxFilterCell()
{
    return new MyFilteringCheckBoxCell();
}

class MyFilteringCheckBoxCell : CheckBoxCell, IFilteringCell
{
    public MyFilteringCheckBoxCell()
    {
        this.ThreeState = true;
    }

    public bool Filtering(object editedFormattedValue, object targetCellValue, int targetRowIndex)
    {
        if (object.Equals(editedFormattedValue, CheckState.Indeterminate))
        {
            return false;
        }
        if (object.Equals(targetCellValue, null) || object.Equals(targetCellValue, false))
        {
            return !object.Equals(editedFormattedValue, CheckState.Unchecked);
        }
        if (object.Equals(targetCellValue, true))
        {
            return !object.Equals(editedFormattedValue, CheckState.Checked);
        }
        return false;
    }

    public int FilteringCellIndex
    {
        get { return 2; }
    }
}
Private Function CreateComboBoxFilterCell() As Cell
    Return New MyFileringComboBoxCell()
End Function

Private Class MyFileringComboBoxCell
    Inherits ComboBoxCell
    Implements IFilteringCell
    Public Sub New()
        Me.Items.Add("")
        Me.Items.Add("Leader")
        Me.Items.Add("Developer")
        Me.Items.Add("Tester")
    End Sub

    Public Function Filtering(ByVal editedFormattedValue As Object, ByVal targetCellValue As Object, ByVal targetRowIndex As Integer) As Boolean Implements IFilteringCell.Filtering
        If Object.Equals(editedFormattedValue, String.Empty) OrElse Object.Equals(editedFormattedValue, Nothing) Then
            Return False
        End If
        Return Not Object.Equals(editedFormattedValue, targetCellValue)
    End Function

    Public ReadOnly Property FilteringCellIndex() As Integer Implements IFilteringCell.FilteringCellIndex
        Get
            Return 1
        End Get
    End Property
End Class

Private Function CreateCheckBoxFilterCell() As Cell
    Return New MyFilteringCheckBoxCell()
End Function

Private Class MyFilteringCheckBoxCell
    Inherits CheckBoxCell
    Implements IFilteringCell
    Public Sub New()
        Me.ThreeState = True
    End Sub

    Public Function Filtering(ByVal editedFormattedValue As Object, ByVal targetCellValue As Object, ByVal targetRowIndex As Integer) As Boolean Implements IFilteringCell.Filtering
        If Object.Equals(editedFormattedValue, CheckState.Indeterminate) Then
            Return False
        End If
        If Object.Equals(targetCellValue, Nothing) OrElse Object.Equals(targetCellValue, False) Then
            Return Not Object.Equals(editedFormattedValue, CheckState.Unchecked)
        End If
        If Object.Equals(targetCellValue, True) Then
            Return Not Object.Equals(editedFormattedValue, CheckState.Checked)
        End If
        Return False
    End Function

    Public ReadOnly Property FilteringCellIndex() As Integer Implements IFilteringCell.FilteringCellIndex
        Get
            Return 2
        End Get
    End Property
End Class
参照

IFilteringCell インターフェース
IFilteringCell メンバ

 

 


© 2008-2015 GrapeCity inc. All rights reserved.