原本,用了order,程序却没有进行排序
dgrdDefinedMaterial.DataSource = RecipeDetailModel.MaterialDefinedList.OrderBy(e => e.Name).ToList();
修改后
RecipeDetailModel.MaterialDefinedList = RecipeDetailModel.MaterialDefinedList.OrderBy(e => e.Name).ToList();
原因:
因为用的是 dgrdDefinedMaterial.DataBindings.Add("DataSource", recipeDetailModel, "MaterialDefinedList");绑定,
那么在对象
private List<MD_Material> materialDefinedList;
[DataMember]
public List<MD_Material> MaterialDefinedList
{
get { return materialDefinedList; }
set
{
materialDefinedList = value;
NotifyPropertyChanged("MaterialDefinedList");
}
}
使用dgrdDefinedMaterial.DataSource = RecipeDetailModel.MaterialDefinedList.OrderBy(e => e.Name).ToList();这个的时候,
dgrdDefinedMaterial.DataSource里面进行了排序,但是 RecipeDetailModel.MaterialDefinedList却没有,
所以要对 RecipeDetailModel.MaterialDefinedList 重新赋值排序后的结果