Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
Привет нужна помощь Такая проблема есть 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(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 14:56 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
с этой стороны экрана не очень понятно, но вот это может происходить только по одной причине: автор но при добавлении DataGrid не обновляется хотя происходит вызов метода DataBind т.к. FillGrid пользуется сессионным объектом то и данные он берёт из этого объекта, а объект старый т.к. туда не попала новая запись... подумай как это исправить ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:41 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
сессионный объект не влияет на обновление грида, из него берется родитель объекта, а он не меняется, то бишь должен оставаться старым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:47 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
да с той стороны действительно не увидишь, весь код смысла нет посылать, мне кажется по разному происходит обработка BoundColumn у Грида (удаление) и Button которая гриду не принадлежит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:49 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
а вот в чем это разница кто бы подсказал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 15:50 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
авторсессионный объект не влияет на обновление грида, из него берется родитель объекта, а он не меняется, то бишь должен оставаться старым LOL - значит я сплю... Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:22 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
if (Session["CurrentObject"] != null) AttrNames = Directories.GetAttributesList((int)Session["CurrentObject"]); эту строку можно вообще выкинуть, результат будет такой же, это не повлияет на вставку у объета будет одним атрибутом меньше, он не существенен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:34 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
значит тут какая то беда dir.InsertAttr(); потому что тут работает dir.Delete(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:38 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
не похоже там тоже вставляет все исправно, новые записи в таблице появляются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:55 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
где то когда то встречал нечто подобное - вроде въехал в твои грабли ;) попробуй сперва очищать this.DirectoriesDataGrid.DataSource = Nothing а потом присваивай новый this.DirectoriesDataGrid.DataSource = AttrNames; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:56 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
если потом закрыть/открыть эту запись в DataList то новые записи пояляются, то есть если посылаем заново на сервер страничку то все нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 16:56 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
авторесли потом закрыть/открыть эту запись в DataList то новые записи пояляются, то есть если посылаем заново на сервер страничку то все нормально хм... точно значит где то используется старый объект без новой добавленной записи... где то опаздываешь ровно на один шаг... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 17:00 |
|
||
|
DataGrid в EditItemTemplate
|
|||
|---|---|---|---|
|
#18+
this.DirectoriesDataGrid.DataSource = Nothing не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2006, 17:04 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33790817&tid=1392343]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 370ms |

| 0 / 0 |
