I have a problem with my listing, datatable and datagrid. I have the following code:
StateEnum.cs:
public enum StateEnum
{
Pass,
Fail,
Mandatory,
Retest
}
MainWindow.xaml.cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
ViewModel.MainViewModel vm = VmSingleton.GetVmInstance();
vm.ModuleRecords = new System.Data.DataTable();
DataTable dt = new DataTable("TableName");
dt.Columns.Add("Id",typeof(int));
dt.Columns.Add("Operation1", typeof(StateEnum));
dt.Columns.Add("Operation2", typeof(StateEnum));
dt.Columns.Add("Operation3", typeof(StateEnum));
dt.Columns.Add("Operation4", typeof(StateEnum));
vm.ModuleRecords = dt;
for (int i = 0; i < 5; i++)
{
DataRow newDR = dt.NewRow();
foreach (DataColumn col in dt.Columns)
{
int j = 1;
if (col.ColumnName == "Id")
newDR[col.ColumnName] = i + j;
else
newDR[col.ColumnName] = StateEnum.Pass;
j++;
}
dt.Rows.Add(newDR);
}
}
MainWindow.xaml
…
<DataGrid Grid.Row="0" ItemsSource="{Binding ModuleRecords}" AutoGenerateColumns="True" />
<Button Grid.Row="1" Content="Ok" Click="Button_Click"/>
…
While the identifier is displayed in cells, enumerations in cells are not displayed directly. When I click on a cell, I can select the correct enumeration. How can i fix this?
Edit:
Sorry for the ambiguous description. In my case, I want to show data data because I don’t know exactly how much data needs to be shown during development. This is why data is chosen. In my example, I can have more or less operations, and I don't know how many there ...
, , . codeexample , :
private void Button_Click(object sender, RoutedEventArgs e)
{
DataAccess.DataAccessor accessor = new DataAccess.DataAccessor();
List<string> operationHeaders = accessor.getOperationHeaders();
ViewModel.MainViewModel vm = VmSingleton.GetVmInstance();
vm.ModuleRecords = new System.Data.DataTable();
DataTable dt = new DataTable("TableName");
dt.Columns.Add("Id",typeof(int));
foreach (string header in operationHeaders)
{
dt.Columns.Add(header, typeof(StateEnum));
}
vm.ModuleRecords = dt;
...
}
, ...
2:
, enum . Viewmodel, enum datagridview . enum, . "" ""...
, , .