Немного флуда - но я не говорю о шарпе под винду, а долблюсь с компакт фреймворком
а там даже в стандартных компонентах такое ограничение по функционалу шо жуть как
ваще народ пишет под кпк.
Omicron_Persey_8 mdDS.Tables["OPERACII"].
Rows[14]["Field"] = "Чего-то там"; ето ручное указание
номера строки а мне надо определить на какой строке находиться курсор и опять же в том самом борланде мне не надо беспокоиться где курсор чтобы отредактировать ячейку
таблицы - если я двигаюсь по гриду курсор таблицы автоматом идет за движение по гриду.
Цитата: А ты DataSet мастером создавал?
да
Добавлено: да и по ходу еще и такой вопрос - я никак не могу въехать в логику.
вот код - я добавляю новую запись а потом сразу же ее редактирую
private void menuItem2_Click(object sender, EventArgs e)
{
DataRow newRow = mdDS.Tables["OPERACII"].NewRow();
newRow["DATA"] = DateTime.Now;
newRow["IS_DOLG"] = 0;
newRow["OPER_MOD_DATE_TIME"] = DateTime.Now;
newRow["IS_DELETED"] = 0;
newRow["IS_KPK"] = 1;
mdDS.Tables["OPERACII"].Rows.Add(newRow);
Zemly.frmOper operaciiEditViewDialog = Zemly.frmOper.Instance(this.oPERACIIBindingSource);
if (operaciiEditViewDialog.ShowDialog() == DialogResult.OK)
{
oPERACIIBindingSource.EndEdit();
oPERACIITableAdapter.Update(mdDS);
this.oPERACII_DETALTableAdapter.Fill(this.mdDS.OPERACII_DETAL);
this.oPERACII_DETALTableAdapter.FillBy(this.mdDS.OPERACII_DETAL);
}
else
{
oPERACIIBindingSource.CancelEdit();
}
}
private void menuItem3_Click(object sender, EventArgs e)
{
mdDS.Tables["OPERACII"].Rows[oPERACIIBindingSource.Position]["IS_DELETED"] = 1;
oPERACIIBindingSource.EndEdit();
oPERACIITableAdapter.Update(mdDS);
this.oPERACII_DETALTableAdapter.Fill(this.mdDS.OPERACII_DETAL);
this.oPERACII_DETALTableAdapter.FillBy(this.mdDS.OPERACII_DETAL);
}
и получаю ошибку
$exception {"Concurrency violation: the UpdateCommand affected 0 of the expected 1 records."} System.Exception {System.Data.DBConcurrencyException}
что я не так делаю и почему при добавлении новой строки у меня не обновляются данные в гриде.Точнее обновляются токо те шо выдает метод Fill - селект из одной таблицы с кучей колонок для привязки со справочниками.Неприкольно смотреть на грид
с числами
FillBy - я делал селект из нескольких таблиц, использовать токо его не могу так как не достаточно хорошо знаю шапр шоб самому написать методы инсерт/апдейт/делете таблицы да и еще и постоянно путаюсь с борландом - там апдейт ето редактирование таблицы а не запись Пост в борланде
По борландовской логике если откинуть транзакции я должен сделать
Table1->Append();
.......
Table1->Post(); если правильно написан запрос для селекта и рефреша то ваще больше ничего делать не надо, ну иногда после поста приходиться писать
Table1->Refresh(); or Table1->CloseOpen(false);
ни у редактируй сразу же - никаких орграничений доступа- единственное что приходит в голову - ето то что я тестирую приложение через емулятор а в нем записи не записываются физически в таблицу, не знаю почему, чет мелкософт недомудрил.
метод Fill - ето открытие таблицы?