DataGridView.CellContentClick イベントとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataGridView.CellContentClick イベントの意味・解説 

DataGridView.CellContentClick イベント

メモ : このイベントは、.NET Framework version 2.0新しく追加されたものです。

セル内の内容クリックされた場合発生します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Event CellContentClick As
 DataGridViewCellEventHandler
Dim instance As DataGridView
Dim handler As DataGridViewCellEventHandler

AddHandler instance.CellContentClick, handler
public event DataGridViewCellEventHandler CellContentClick
public:
event DataGridViewCellEventHandler^ CellContentClick {
    void add (DataGridViewCellEventHandler^ value);
    void remove (DataGridViewCellEventHandler^ value);
}
/** @event */
public void add_CellContentClick (DataGridViewCellEventHandler
 value)

/** @event */
public void remove_CellContentClick (DataGridViewCellEventHandler
 value)
JScript では、イベント使用できますが、新規に宣言することはできません。
解説解説

このイベントは、セル内容クリックされたときに発生しますボタン セルまたはチェック ボックス セルフォーカスがある状態で Space キー押し離したときにも発生しますまた、これらのセル タイプでは、Space キー押しながらセル内容クリックした場合は、このイベントが 2 回発生します

DataGridViewButtonCell のボタン クリック、または DataGridViewLinkCell のリンク クリック検出するには、このイベント使用します

DataGridViewCheckBoxCell をクリックすると、このイベントは、チェック ボックスが値を変更する前に発生します。したがって現在の値に基づいて予期される値を計算する必要がない場合通常はこのイベント代わりに DataGridView.CellValueChanged イベント処理します。このイベントは、ユーザー指定の値がコミットされたとき (通常フォーカスセル離れたとき) にだけ発生するため、DataGridView.CurrentCellDirtyStateChanged イベント処理する必要があります。そのハンドラでは、現在のセルチェック ボックス セル場合、DataGridView.CommitEdit メソッド呼び出してCommit 値を渡します

イベント処理詳細については、「イベント利用」を参照してください

使用例使用例

このイベントハンドラ提供してクリックされたセルがリンク セルまたはボタン セルかどうか判断し結果として対応する操作実行するコード例次に示します

Private Sub DataGridView1_CellContentClick(ByVal
 sender As Object, _
    ByVal e As DataGridViewCellEventArgs) _
    Handles DataGridView1.CellContentClick

    If IsANonHeaderLinkCell(e) Then
        MoveToLinked(e)
    ElseIf IsANonHeaderButtonCell(e) Then
        PopulateSales(e)
    End If
End Sub

Private Sub MoveToLinked(ByVal
 e As DataGridViewCellEventArgs)
    Dim employeeId As String
    Dim value As Object
 = DataGridView1.Rows(e.RowIndex). _
        Cells(e.ColumnIndex).Value
    If value.GetType Is GetType(DBNull)
 Then Return

    employeeId = CType(value, String)
    Dim boss As DataGridViewCell = _
        RetrieveSuperiorsLastNameCell(employeeId)
    If Not boss Is Nothing
 Then
        DataGridView1.CurrentCell = boss
    End If
End Sub

Private Function IsANonHeaderLinkCell(ByVal
 cellEvent As _
    DataGridViewCellEventArgs) As Boolean

    If TypeOf DataGridView1.Columns(cellEvent.ColumnIndex)
 _
        Is DataGridViewLinkColumn _
        AndAlso Not cellEvent.RowIndex = -1
 Then _
        Return True Else
 Return False

End Function

Private Function IsANonHeaderButtonCell(ByVal
 cellEvent As _
    DataGridViewCellEventArgs) As Boolean

    If TypeOf DataGridView1.Columns(cellEvent.ColumnIndex)
 _
        Is DataGridViewButtonColumn _
        AndAlso Not cellEvent.RowIndex = -1
 Then _
        Return True Else
 Return (False)

End Function

Private Function RetrieveSuperiorsLastNameCell(
 _
    ByVal employeeId As String)
 As DataGridViewCell

    For Each row As DataGridViewRow
 In DataGridView1.Rows
        If row.IsNewRow Then Return
 Nothing
        If row.Cells(ColumnName.EmployeeId.ToString()). _
            Value.ToString().Equals(employeeId) Then
            Return row.Cells(ColumnName.LastName.ToString())
        End If
    Next
    Return Nothing
End Function
private void DataGridView1_CellContentClick(object
 sender, DataGridViewCellEventArgs e)
{

    if (IsANonHeaderLinkCell(e))
    {
        MoveToLinked(e);
    }
    else if (IsANonHeaderButtonCell(e))
    {
        PopulateSales(e);
    }
}

private void MoveToLinked(DataGridViewCellEventArgs
 e)
{
    string employeeId;
    object value = DataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
    if (value is DBNull) { return; }

    employeeId = value.ToString();
    DataGridViewCell boss = RetrieveSuperiorsLastNameCell(employeeId);
    if (boss != null)
    {
        DataGridView1.CurrentCell = boss;
    }
}

private bool IsANonHeaderLinkCell(DataGridViewCellEventArgs
 cellEvent)
{
    if (DataGridView1.Columns[cellEvent.ColumnIndex] is
        DataGridViewLinkColumn &&
        cellEvent.RowIndex != -1)
    { return true; }
    else { return false;
 }
}

private bool IsANonHeaderButtonCell(DataGridViewCellEventArgs
 cellEvent)
{
    if (DataGridView1.Columns[cellEvent.ColumnIndex] is
        DataGridViewButtonColumn &&
        cellEvent.RowIndex != -1)
    { return true; }
    else { return (false);
 }
}

private DataGridViewCell RetrieveSuperiorsLastNameCell(string
 employeeId)
{

    foreach (DataGridViewRow row in DataGridView1.Rows)
    {
        if (row.IsNewRow) { return null;
 }
        if (row.Cells[ColumnName.EmployeeId.ToString()].Value.ToString().Equals(employeeId))
        {
            return row.Cells[ColumnName.LastName.ToString()];
        }
    }
    return null;
}
private:
    void DataGridView1_CellContentClick(Object^ /*sender*/, DataGridViewCellEventArgs^
 e)
    {

        if (IsANonHeaderLinkCell(e))
        {
            MoveToLinked(e);
        }
        else if (IsANonHeaderButtonCell(e))
        {
            PopulateSales(e);
        }
    }

private:
    void MoveToLinked(DataGridViewCellEventArgs^ e)
    {
        String^ employeeId;
        Object^ value = DataGridView1->Rows[e->RowIndex]->Cells[e->ColumnIndex]->Value;
        if (dynamic_cast<DBNull^>(value) != nullptr) { return;
 }

        employeeId = value->ToString();
        DataGridViewCell^ boss = RetrieveSuperiorsLastNameCell(employeeId);
        if (boss != nullptr)
        {
            DataGridView1->CurrentCell = boss;
        }
    }

private:
    bool IsANonHeaderLinkCell(DataGridViewCellEventArgs^ cellEvent)
    {
        if (dynamic_cast<DataGridViewLinkColumn^>(DataGridView1->Columns[cellEvent->ColumnIndex])
 != nullptr
             &&
            cellEvent->RowIndex != -1)
        { return true; }
        else { return false;
 }
    }

private:
    bool IsANonHeaderButtonCell(DataGridViewCellEventArgs^ cellEvent)
    {
        if (dynamic_cast<DataGridViewButtonColumn^>(DataGridView1->Columns[cellEvent->ColumnIndex])
 != nullptr
             &&
            cellEvent->RowIndex != -1)
        { return true; }
        else { return (false);
 }
    }

private:
    DataGridViewCell^ RetrieveSuperiorsLastNameCell(String^ employeeId)
    {

        for each (DataGridViewRow^ row in DataGridView1->Rows)
        {
            if (row->IsNewRow) { return
 nullptr; }
            if (row->Cells[ColumnName::EmployeeID.ToString()]->Value->ToString()->Equals(employeeId))
            {
                return row->Cells[ColumnName::LastName.ToString()];
            }
        }
        return nullptr;
    }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataGridView.CellContentClick イベントを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataGridView.CellContentClick イベントを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataGridView.CellContentClick イベントを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataGridView.CellContentClick イベント」の関連用語

DataGridView.CellContentClick イベントのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGridView.CellContentClick イベントのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS