2013-09-09 3 views
1

у меня есть GridView с редактировать и удалять кнопки:Проблема с GridView кнопками и SqlDataSource

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" style= "-moz-border-radius: 15px;border-radius: 15px;" 
          AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
          DataKeyNames="AREA" DataMember="DefaultView" 
          ForeColor="#333333" Height="90%" Width="90%"> 
          <RowStyle BackColor="#EFF3FB" /> 
          <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
          <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
          <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
          <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
          <EditRowStyle BackColor="#2461BF" /> 
          <AlternatingRowStyle BackColor="White" /> 
    <Columns> 
           <asp:BoundField DataField="AREA" HeaderText="AREA" ReadOnly="True" 
            SortExpression="AREA" /> 
           <asp:BoundField DataField="LIDER_USUARIO" HeaderText="LIDER_USUARIO" 
            SortExpression="LIDER_USUARIO" /> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:ImageButton ID="editButton" runat="server" CommandName="Edit" 
       ImageUrl="images/pencil1.png" Text="Edit" /> 
     </ItemTemplate> 
     <EditItemTemplate> 
      <asp:Button ID="BtnUpdate" runat="server" CommandName="Update" 
       Text="Edit" /> 
      <asp:Button ID="BtnCancel" runat="server" CommandName="Cancel" 
       Text="Cancel" /> 
     </EditItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:ImageButton ID="deleteButton" runat="server" CommandName="Delete" 
       ImageUrl="images/DeleteRed1.png" 
       OnClientClick="return confirm('Are u sure?');" Text="Delete" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

И в SqlDataSource:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DBUserInterfaceConnectionString %>" 
    DeleteCommand="DELETE FROM [TABLE] WHERE ...;" 
    SelectCommand="SELECT * FROM [TABLE]" 
    UpdateCommand="UPDATE TABLE SET ...;"> 
</asp:SqlDataSource> 

Если связать их с помощью DataSourceID (GridView свойство DataSourceID="SqlDataSource1") обе кнопки работаю, но я стараюсь это делать, используя код vb, за которым они НЕ (когда я нажимаю кнопки, ничего не происходит):

Мне нужно сделать это с помощью кода. Как заставить их работать?

ответ

1

Попробуйте использовать DataSourceID свойство и указать его идентификатор источника данных, например:

GridView1.DataSourceID = SqlDataSource1.ID 
GridView1.DataBind() 
+0

EDIT: К сожалению, Оно работает. Я забыл установить проверку сервера на true в <%@ Page>. Благодарю. – phalanx

1

Вам нужно обернуть их в если не IsPostBack:

Protected Sub Page_Load(... 
    If Not IsPostBack Then 
     GridView1.DataSource = SqlDataSource1 
     GridView1.DataBind() 
    EndIf 
Смежные вопросы