Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Работа GridView при наличии 2-х ключ.полей / 7 сообщений из 7, страница 1 из 1
09.08.2006, 18:24
    #33909032
vst
vst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Помогите!!! Застряла на проблеме:
использую GridView для работы с данными таблицы, у которой 2 ключевых поля (в случае одного проблем нет), причем одно из них необходимо редактировать. Использую SQLDataSource.
Столкнулась с тем, что при перечислении полей в  DataKeyNames  Delete срабатывает без проблем, но не работает Update. И наоборот - если не перечислять поля в  DataKeyNames, Update нормально, а Delete не выполняется.
Что делать?
...
Рейтинг: 0 / 0
09.08.2006, 19:24
    #33909200
Dimon aka Manowar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Может с параметрами в событиях Deleting/Updating поиграться? Подобавлять нужное, поудалять лишнее.

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
09.08.2006, 21:21
    #33909337
vst
vst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Дело в том, что уже пыталась: в Deleting присваивала DataKeyNames, в Deleted очищала - все равно удаление не работает. Возможно, что управлять этим свойством динамически нельзя? Просто тупик...
А у Вас были такие проблемы?
...
Рейтинг: 0 / 0
10.08.2006, 02:21
    #33909491
Dimon aka Manowar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Буквально только что сделал подобное - одно поле (ключ на справочник) не редактируется и Bind его не выводится. В Inserting/Updating событиях добавил значение в Values/NewValues И все чудесно заработало

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
10.08.2006, 10:08
    #33909762
vst
vst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Спасибо Вам, Dimon aka Manowar.
Могли бы Вы поподробнее написать. Честно говоря, не знаю как добавить NewValues
...
Рейтинг: 0 / 0
10.08.2006, 13:01
    #33910325
darius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
В случае с Delete NewValues нет. Но есть keys =) У тебя у грида будет событие OnDeleting, в нем делаешь обработку.
...
Рейтинг: 0 / 0
10.08.2006, 13:50
    #33910473
vst
vst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа GridView при наличии 2-х ключ.полей
Добрый день всем!
И Update и Delete теперь работает с пустым DataKeyNames. Всего лишь после добавления Label2 (строка, выделенная красным):

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"  EmptyDataText="Нет информации">
      <Columns>
                        <asp:BoundField DataField="ID" ReadOnly="True"  Visible =False />
                        <asp:TemplateField HeaderText="Название ">
                            <EditItemTemplate>
                                &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
                                    DataTextField="Name" DataValueField="ID" SelectedValue='<%# Bind("ID1") %>'>
                                </asp:DropDownList>
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:Label ID="Label2" runat="server" Text='<%# Bind("ID1") %>' Visible="False" ></asp:Label>
                                <asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                            </ItemTemplate>
                            </asp:TemplateField>
                        <asp:CommandField CancelText="Отмена" EditText="Редактировать" ShowEditButton="True" UpdateText="Сохранить" />
                        <asp:TemplateField InsertVisible="False" ShowHeader="False">
                            <ItemTemplate>
                              <asp:LinkButton ID="DeleteButton" runat="server" CommandName="Delete"   
                            OnClientClick="return confirm('Вы уверены в том, что запись надо удалить?');"
                            Text="Удалить"></asp:LinkButton>
                            </ItemTemplate>
                          </asp:TemplateField>
                    </Columns>
                    </asp:GridView>

В связи со всем этим возникает вопрос:  как организована работа GridView внутри, что должно быть на клиенте, что понимает сервер?
Где бы об этом почитать?
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Работа GridView при наличии 2-х ключ.полей / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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