내가 최근 응용 프로그램이 접근 방법은 내 자신의 DataGridViewColumn 및 DataGridViewCell 클래스 중 하나 떨어져 상속 만드는 것이 었습니다 DataGridViewTextBoxColumn 및 DataGridViewTextBoxCell과 같은 기존 항목
원하는 셀 유형에 따라 Button, Checkbox, ComboBox 등을 사용할 수 있습니다. System.Windows.Forms에서 사용할 수있는 유형을 살펴보십시오.
셀은 값을 객체로 처리하므로 Car 클래스를 셀 값에 전달할 수 있습니다.
SetValue 및 GetValue를 재정의하면 값을 처리하는 데 필요한 추가 논리를 가질 수 있습니다. 예를 들어
: 당신이해야 할 중요한 것은 당신의 사용자 정의 셀 클래스에 CellTemplate 설정되어 열 클래스에
public class CarCell : System.Windows.Forms.DataGridViewTextBoxCell
{
protected override object GetValue(int rowIndex)
{
Car car = base.GetValue(rowIndex) as Car;
if (car != null)
{
return car.Maker.Name;
}
else
{
return "";
}
}
}
.
public class CarColumn : System.Windows.Forms.DataGridViewTextBoxColumn
{
public CarColumn(): base()
{
CarCell c = new CarCell();
base.CellTemplate = c;
}
}
DataGridView에서 이러한 사용자 지정 열/셀을 사용하면 DataGridView에 많은 추가 기능을 추가 할 수 있습니다.
GetFormattedValue를 재정 의하여 문자열 값에 사용자 지정 서식을 적용하여 표시된 서식을 변경하는 데 사용했습니다.
또한 그림판에서 재정의를 수행하여 가치 조건에 따라 사용자 지정 셀 강조 표시를 수행하고 값에 따라 원하는대로 셀 Style.BackColor를 변경했습니다.
+1 이것이 단순한 물체에 대한 확실한 해결책이라고 생각합니다. – karlipoppins
하나의 속성 만 있으면 좋겠지 만, 해당 물체의 배수 속성을 원한다면 작동하지 않습니다. –