Format TimeSpan in DataGridView column
을 ... 내가 코드에 문제가 있어요는 datagridview_Cellformatting 이벤트에 추가 할 . 여기
문제의 코드입니다 :private void dataGridView_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
var formatter = e.CellStyle.FormatProvider as ICustomFormatter;
if (formatter != null)
{
e.Value = formatter.Format(e.CellStyle.Format,
e.Value,
e.CellStyle.FormatProvider);
e.FormattingApplied = true;
}
}
이 잘 작동하지만, 내 문제는 내가 내 응용 프로그램에서하고있어 데이터 바인딩의 특성상, 나는 10 개의 다른 DataGridView에에이 메소드를 호출 할 필요가있다 사물.
이 메서드는 이벤트 대상을 캡처한다는 것을 알 수 있습니다. 즉, 현재 코드에서이 메서드의 개별 복사본을 10 개 사용 중임을 의미합니다. 이것을 CellFormatting 이벤트의 DataGridview에서 호출 할 수있는 단일 메서드로 통합하는 방법이 있어야합니다.
어떻게 수행 할 수 있는지 아시나요?
"이벤트 대상을 캡처합니까"라는 의미는 무엇입니까? 방법 이름에 의미가 있니? 그것은 단지 메소드 이름 일뿐입니다 ... 여러 객체의 이벤트에 대해 동일한 메소드를 확실히 사용할 수 있습니다. –
Forms Designer의 DataGridView에 대한 속성보기의 이벤트 탭에서 모든 DataGridView에 대해 'Cell Formatting'이벤트를'dataGridView_CellFormatting'으로 설정하면됩니다. 그들은 모두 그 사건에 대해 같은 방법을 사용하게 될 것입니다. – Baldrick
* 상속 *을 사용하십시오. DataGridView에서 클래스를 소유하고 OnCellFormatting() 메서드를 재정의합니다. 짓다. 도구 상자 맨 위에있는 새 컨트롤을 사용하여 기존 컨트롤을 바꿉니다. –