Пользовательская кнопка редактирования / удаления Gridview - PullRequest
2 голосов
/ 20 августа 2009

Я использую C # .net

Я хочу добавить пользовательские кнопки редактирования / удаления в мой GridView1 (по одной кнопке редактирования / удаления на строку).

Однако я хочу, чтобы кнопки открывали другой вид (editView / deleteView в той же форме), а не редактировали "inline" и т. Д.

Кнопка редактирования работает нормально. Вот как я создал его вручную:

Right clicked on GridView1
Clicked on ‘Add New Column’
Field Type: ButtonField
Header Text: Edit
Button Type: Button
Command Name: Edit
Text: Edit

В разделе «События» (расположенном в свойствах) для GridView1 я дважды щелкнул RowEditing, после чего было создано событие, к которому я мог получить доступ в коде позади.

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        // Access _viewAdd

        _multiView1.ActiveViewIndex = 1;
   }    

Кнопка удаления должна открывать deleteView (страницу подтверждения), а не просто автоматически удалять строку. Я хочу создать собственный метод, который запускается, когда пользователь выбирает кнопку удаления.

Ответы [ 2 ]

1 голос
/ 01 сентября 2009

Я закончил тем, что использовал ретранслятор и добавил обе кнопки редактирования / удаления в конец каждой строки. Эти кнопки содержали не только информацию OnClick_Event, но и идентификатор, связанный с этой строкой.

      <asp:Repeater ID="Repeater" runat="server" DataSourceID="*****">
        <HeaderTemplate>          
          <table cellpadding="3" cellspacing="3">
            <tr>
              <th style="text-align:left">Name</th>
              <th>&nbsp;</th>
              <th>&nbsp;</th>
            </tr>            
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
              <td style="text-align:left"><%#Eval("forename")%>&nbsp;<%#Eval("surname")%></td>
              <td style="text-align:left"><asp:Button ID="edit" OnCommand="edit_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Edit" CssClass="standardButton" /></td>
              <td style="text-align:left"><asp:Button ID="delete" OnCommand="delete_Click" CommandArgument='<%#Eval("id")%>' runat="server" Text="Delete" CssClass="standardButton" /></td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
          </table>
        </FooterTemplate>
      </asp:Repeater>

Я надеюсь, что это помогает другим людям.

0 голосов
/ 20 августа 2009

Существует также событие RowDeleting, которое вы можете обработать. Оба аргумента имеют свойство Cancel, которое можно установить на true, чтобы предотвратить изменение данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...