私のViewModelには、次のとおりです。DataTableは、データの消去と再充填後にDataGridを更新していません。 MVVM
public class MainWindowViewModel
{
public MainWindowViewModel()
{
PopulateDataTable();
}
private DataTable employeeDataTable;
public DataTable EmployeeDataTable
{
get { return employeeDataTable; }
set
{
employeeDataTable = value;
OnPropertyChanged("EmployeeDataTable");
}
}
private void PopulateDataTable()
{
var _ds = new DataSet("Test");
employeeDataTable = new DataTable();
employeeDataTable = _ds.Tables.Add("DT");
for (int i = 0; i < 10; i++)
{
employeeDataTable.Columns.Add("Column " + i.ToString());
}
for (int i = 0; i < 15; i++)
{
var theRow = employeeDataTable.NewRow();
for (int j = 0; j < 10; j++)
{
theRow[j] = "a";
}
employeeDataTable.Rows.Add(theRow);
}
}
private void RepopulateDataTable(object obj)
{
EmployeeDataTable.Clear();
for (int i = 0; i < 10; i++)
{
var theRow = employeeDataTable.NewRow();
for (int j = 0; j < 10; j++)
{
theRow[j] = j + DateTime.Now.ToString();
}
employeeDataTable.Rows.Add(theRow);
}
}
}
私のXAMLは次のとおりです。
<DataGrid ItemsSource="{Binding EmployeeDataTable, IsAsync=True}" />
<Button Content="Update DataGrid" Command={Binding UpdateDataGridCommand}/>
私はButton
による方法RepopulateDataTable()
を呼び出すと、その後、DataGrid
内のデータが更新されません。 DataTable
を使用してDataGrid
をクリアして再投入するにはどうすればよいですか?