반응형
WPF에서 데이터 그리드를 새로 고치는 방법
내 소스는 MySQL 데이터베이스에 있으며 업데이트 명령을 만들었으며 이제 새로 고쳐야 합니다.DataGrid
.
MySqlCommand cmd = new MySqlCommand(
"update request set status = " + StatusRequest(value) +
" where id = " + rowView[0].ToString() + "", conn);
MySqlDataReader myReader = cmd.ExecuteReader();
새로 고침 방법DataGrid
?
해라mydatagrid.Items.Refresh()
업데이트 후 그리드의 데이터 소스 다시 로드
myGrid.ItemsSource = null;
myGrid.ItemsSource = myDataSource;
MSDN에서 -
CollectionViewSource.GetDefaultView(myGrid.ItemsSource).Refresh();
데이터 그리드를 관찰 가능한 컬렉션에 바인딩하고 대신 컬렉션을 업데이트합니다.
어때.
mydatagrid.UpdateLayout();
저는 이 문제로 많은 어려움을 겪었고, 이것이 제가 DataGrid를 새로운 값으로 다시 로드하는 데 도움이 되었습니다.최신 데이터 값을 얻으려면 데이터를 가져올 데이터 유형을 사용해야 합니다.
저는 그것을 대표했습니다.SomeDataType
아래.
DataContext.Refresh(RefreshMode.OverwriteCurrentValues, DataContext.SomeDataType);
이것이 제가 가졌던 것과 같은 문제들을 가진 누군가에게 도움이 되기를 바랍니다.
단일 행 업데이트를 원하는 경우:
새 Observable Collection을 생성하고 초기화합니다.
public ObservableCollection<myModel> myObservableCollection { get; set; } = new ObservableCollection<myModel>();
행 업데이트
//Get current row as your model
var row = myDataGrid.CurrentItem as myModel;
//Find in your collection index of selected row
var b = myObservableCollection.IndexOf(myObservableCollection.FirstOrDefault(e=>e.Id == row.Id));
//Create a copy of this row
var k = row.Clone() as myModel;
//Here you can mofidy what you want
k.Name = "New name";
k.SomethingId = 2137;
//Replace object in you collection
myObservableCollection[b] = k;
모델을 복제하기 위한 코드는 다음과 같습니다.
public object Clone()
{
return this.MemberwiseClone();
}
언급URL : https://stackoverflow.com/questions/11324688/how-to-refresh-datagrid-in-wpf
반응형
'source' 카테고리의 다른 글
jQuery에서 특정 ID를 가진 모든 요소를 선택하는 방법? (0) | 2023.10.04 |
---|---|
"net use * /delete"가 작동하지 않고 PowerShell 스크립트에서 확인을 기다리는 이유는 무엇입니까? (0) | 2023.10.04 |
javascript/jQuery에서 문자열을 숫자로 변환하는 중 (0) | 2023.10.04 |
'mysql.user' 테이블이 없습니다. ERROR (0) | 2023.10.04 |
배열 vs.자바스크립트에서 객체 효율성 (0) | 2023.10.04 |