This row has been removed from a table and does not have any data. BeginEdit() will allow creation..
سلام من یک خطای عجیب توی برنامم دارم :
من می خوام دو تا ردیف رو در یک datasource جابه جا کنم . و برای اینکار مجبورم row مورد نظر را remove کنم و بعد در index جدید insert کنم ولی برنامه فقط اوو ردیف رو پاک می کنه و یک row خالی اضافه میکند . وقتی trace کردم در خط insert این exception را دارم . باید چی کار کنم . لطفا راهنماییم کنید :
privatevoid janusgrid_DragDrop(object sender, DragEventArgs e)
{
if (e.Effect == DragDropEffects.Move)
{
DataRow rowToMove = dtDataSource.Rows[nrow];
dtDataSource.Rows.RemoveAt(nrow);
dtDataSource.AcceptChanges();
dtDataSource.Rows[endRow].BeginEdit();
dtDataSource.Rows.InsertAt(rowToMove, endRow);
dtDataSource.Rows[endRow].EndEdit();
janus_grid.RetrieveStructure();
}
نقل قول: This row has been removed from a table and does not have any data. BeginEdit() will allow c
مشکل رو متوجه شدم وقتی DataRow rowToMove = dtDataSource.Rows[nrow]; را می نویسیم یعنی هر دو به یک جا در حافظه اشاره می کنند و وقتی dtDataSource.Rows[nrow را delete می کنیم ، خوب هر دو پاک می شوند....ولی الان سوالم اینه که چه راه حلی وجود داره برای اینکه هر ردو به دو جای مختلف در حافظه اشاره کنند؟
نقل قول: This row has been removed from a table and does not have any data. BeginEdit() will allow c