Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DataGrid в EditItemTemplate / 14 сообщений из 14, страница 1 из 1
14.06.2006, 14:56
    #33790413
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
Привет нужна помощь
Такая проблема есть DataList у него в EditItemTemplate есть ДатаГрид с ButtonColumn Delete, так же d EditItenTemplate есть кнопка добавить, текстовое поле для ввода значение. Непосредственно к сути: при удалении значения из DataGrid все нормально, но при добавлении DataGrid не обновляется хотя происходит вызов метода DataBind более того при отдладе ArrayList который является DataSource для грида показывает верное количество записей а датагрид все равно на одну меньше.

private void DirectoriesDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Directories dir = new Directories("Attributes", Convert.ToInt32(DirectoriesDataGrid.DataKeys[e.Item.ItemIndex]));
dir.Delete();
FillGrid();
}
private void FillGrid()
{
if (Session["CurrentObject"] != null)
AttrNames = Directories.GetAttributesList((int)Session["CurrentObject"]);
this.DirectoriesDataGrid.DataKeyField = "OcID";
this.DirectoriesDataGrid.DataSource = AttrNames;
this.DirectoriesDataGrid.DataBind();
}

private void AddButton_Click(object sender, System.EventArgs e)
{
Directories dir = new Directories("Attributes",Convert.ToInt32(AttrNamesList.SelectedValue));
dir.ObjID = (int)Session["CurrentObject"];
dir.DirectoryValue = Convert.ToInt32(ValueBox.Text);
dir.InsertAttr();
FillGrid();
}
...
Рейтинг: 0 / 0
14.06.2006, 15:41
    #33790586
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
с этой стороны экрана не очень понятно, но вот это может происходить только по одной причине:
автор но при добавлении DataGrid не обновляется хотя происходит вызов метода DataBind
т.к. FillGrid пользуется сессионным объектом то и данные он берёт из этого объекта, а объект старый т.к. туда не попала новая запись... подумай как это исправить ;)
...
Рейтинг: 0 / 0
14.06.2006, 15:47
    #33790611
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
сессионный объект не влияет на обновление грида, из него берется родитель объекта, а он не меняется, то бишь должен оставаться старым
...
Рейтинг: 0 / 0
14.06.2006, 15:49
    #33790620
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
да с той стороны действительно не увидишь, весь код смысла нет посылать, мне кажется по разному происходит обработка BoundColumn у Грида (удаление) и Button которая гриду не принадлежит
...
Рейтинг: 0 / 0
14.06.2006, 15:50
    #33790622
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
а вот в чем это разница кто бы подсказал
...
Рейтинг: 0 / 0
14.06.2006, 16:22
    #33790753
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
авторсессионный объект не влияет на обновление грида, из него берется родитель объекта, а он не меняется, то бишь должен оставаться старым
LOL - значит я сплю...
Код: plaintext
1.
2.
3.
4.
5.
if (Session["CurrentObject"] != null)
AttrNames = Directories.GetAttributesList((int)Session["CurrentObject"]);
........
this.DirectoriesDataGrid.DataSource = AttrNames;
.......
...
Рейтинг: 0 / 0
14.06.2006, 16:34
    #33790802
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
if (Session["CurrentObject"] != null)
AttrNames = Directories.GetAttributesList((int)Session["CurrentObject"]);
эту строку можно вообще выкинуть, результат будет такой же, это не повлияет на вставку у объета будет одним атрибутом меньше, он не существенен
...
Рейтинг: 0 / 0
14.06.2006, 16:38
    #33790817
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
значит тут какая то беда
dir.InsertAttr();
потому что тут работает
dir.Delete();
...
Рейтинг: 0 / 0
14.06.2006, 16:55
    #33790894
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
не похоже там тоже вставляет все исправно, новые записи в таблице появляются
...
Рейтинг: 0 / 0
14.06.2006, 16:56
    #33790900
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
где то когда то встречал нечто подобное - вроде въехал в твои грабли ;)
попробуй сперва очищать this.DirectoriesDataGrid.DataSource = Nothing а потом присваивай новый this.DirectoriesDataGrid.DataSource = AttrNames;
...
Рейтинг: 0 / 0
14.06.2006, 16:56
    #33790904
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
если потом закрыть/открыть эту запись в DataList то новые записи пояляются, то есть если посылаем заново на сервер страничку то все нормально
...
Рейтинг: 0 / 0
14.06.2006, 17:00
    #33790924
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
авторесли потом закрыть/открыть эту запись в DataList то новые записи пояляются, то есть если посылаем заново на сервер страничку то все нормально
хм... точно значит где то используется старый объект без новой добавленной записи... где то опаздываешь ровно на один шаг...
...
Рейтинг: 0 / 0
14.06.2006, 17:04
    #33790933
lsn-syzran
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
this.DirectoriesDataGrid.DataSource = Nothing

не помогает
...
Рейтинг: 0 / 0
14.06.2006, 17:30
    #33791031
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid в EditItemTemplate
значит не может быть твой this.DirectoriesDataGrid.DataSource = AttrNames ; быть обновлённым - там просто не существует новой записи - я вижу из сказанного только такой прокол...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DataGrid в EditItemTemplate / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]