セル編集コントロールのイベントから呼び出し元の GcMultiRow コントロールにアクセスするには

MultiRowのすべてのセル編集コントロールはIEditingControlインタフェースを実装しているので、IEditingControl.GcMultiRowプロパティを通して呼び出し元のGcMultiRowコントロールにアクセスできます。

using GrapeCity.Win.MultiRow;



private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)

{

GcMultiRow gcMultiRow = sender as GcMultiRow;



if (e.Control is TextBoxEditingControl)

{

e.Control.KeyPress -= new KeyPressEventHandler(Control_KeyPress);

e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress);

}

}



private void Control_KeyPress(object sender, KeyPressEventArgs e)

{

// セル編集コントロールのため、senderはGcMultiRowではなくTextBoxCell.EditTypeの

// コントロールになる

TextBoxEditingControl textBox = sender as TextBoxEditingControl;

// 呼び出し元のGcMultiRowコントロール

Console.WriteLine(textBox.GcMultiRow.Name);

}

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です