DataGrid Built In ViewModel Question
-
I'm building and populating a DataGrid in a viewmodel. Here's what I'm making[^] The two columns on the right, AutoAdjustment and AutoPosting, are combo boxes where the user can selecte 'Y' or 'N'. These are the only editable columns. For my source data, I have a list of objects called ProcoessingOutputEntries, each with a list of column objects. It's basically a 'row' object with a dynamic collection of columns on it:
private List _ProcesssingOutputEntries;
public List ProcesssingOutputEntries
{
get { return _ProcesssingOutputEntries; }
set
{
if (_ProcesssingOutputEntries != value){ \_ProcesssingOutputEntries = value; RaisePropertyChanged(nameof(ProcesssingOutputEntries)); } }
}
and
public class ProcessingOutputEntryEntity : _EntityBase
{
private List _ProcesssingOutputColumns;
public List ProcesssingOutputColumns
{
get { return _ProcesssingOutputColumns; }
set
{
if (_ProcesssingOutputColumns != value)
{
_ProcesssingOutputColumns = value;
RaisePropertyChanged(nameof(ProcesssingOutputColumns));
}
}
}
}and
public class ColumnInfoEntity : _EntityBase
{
private string _ColumnName;
public string ColumnName
{
get { return _ColumnName; }
set
{
if (_ColumnName != value)
{
_ColumnName = value;
RaisePropertyChanged(nameof(ColumnName));
}
}
}private ColumnSources \_ColumnSource; public ColumnSources ColumnSource { get { return \_ColumnSource; } set { if (\_ColumnSource != value) { \_ColumnSource = value; RaisePropertyChanged(nameof(ColumnSource)); } } } private ColumnTypes \_ColumnType; public ColumnTypes ColumnType { get { return \_ColumnType; } set { if (\_ColumnType != value) { \_ColumnType = value;
-
I'm building and populating a DataGrid in a viewmodel. Here's what I'm making[^] The two columns on the right, AutoAdjustment and AutoPosting, are combo boxes where the user can selecte 'Y' or 'N'. These are the only editable columns. For my source data, I have a list of objects called ProcoessingOutputEntries, each with a list of column objects. It's basically a 'row' object with a dynamic collection of columns on it:
private List _ProcesssingOutputEntries;
public List ProcesssingOutputEntries
{
get { return _ProcesssingOutputEntries; }
set
{
if (_ProcesssingOutputEntries != value){ \_ProcesssingOutputEntries = value; RaisePropertyChanged(nameof(ProcesssingOutputEntries)); } }
}
and
public class ProcessingOutputEntryEntity : _EntityBase
{
private List _ProcesssingOutputColumns;
public List ProcesssingOutputColumns
{
get { return _ProcesssingOutputColumns; }
set
{
if (_ProcesssingOutputColumns != value)
{
_ProcesssingOutputColumns = value;
RaisePropertyChanged(nameof(ProcesssingOutputColumns));
}
}
}
}and
public class ColumnInfoEntity : _EntityBase
{
private string _ColumnName;
public string ColumnName
{
get { return _ColumnName; }
set
{
if (_ColumnName != value)
{
_ColumnName = value;
RaisePropertyChanged(nameof(ColumnName));
}
}
}private ColumnSources \_ColumnSource; public ColumnSources ColumnSource { get { return \_ColumnSource; } set { if (\_ColumnSource != value) { \_ColumnSource = value; RaisePropertyChanged(nameof(ColumnSource)); } } } private ColumnTypes \_ColumnType; public ColumnTypes ColumnType { get { return \_ColumnType; } set { if (\_ColumnType != value) { \_ColumnType = value;
Probably an unwanted comment but why not use a checkbox binding directly to the datasource, less clicks for the user, and no faffing around with combobox and dodgy binding. You could even add the Yes/No based on the checked state.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP