Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, chorn, Вы писали:
C>>Есть DataGrid с колонкой кнопок. При нажатии на кнопку необходимо удалить из DataSet соответствующую запись. При этом апдейт базы я не делаю, для того чтобы после удаления нескольких строк из DataSet была возможность отменить удаление. Проблема в том, что при удалении одной строки из DataSet (и,соответственно, возврате формы), появляется ранее удаленная строка. Подскажите пожалуйста как это делается.
C>>Код удаления строки (в обработчике нажатия кнопки):
C>>C>>DataRow[] rows = this.myDataSet.Select("ID="+e.Item.Cells[0].Text);
C>>foreach (DataRow row in rows)
C>>{
C>> row.Delete();
C>>}
C>>this.myDataGrid.DataSource=this.myDataSet; this.myDataGrid.DataBind();
C>>
M>так а myDataSet ты где хранишь? при каждом постбеке загружаешь?
myDataSet у меня мембер класса, загружаю его один раз:
private void Page_Load(object sender, System.EventArgs e)
{
if!IsPostBack)
{
myAdapter = new OracleDataAdapter("select * from MyTable",strConnect);
this.myDataSet = new DataSet();
myAdapter.Fill(this.myDataSet);
this.myDataGrid.DataSource=this.myDataSet;
this.myDataGrid.DataBind();
}
}