//No declaring datasource this time, that's in the code behind because I need to update shit, you'll see it there     
 <asp:GridView
    id="UsersGridView"
    runat="server"
    AutoGenerateEditButton="True" // makes a column with an edit button, it doesn't automatically do everything 
    AutoGenerateColumns = "false" //gotta put in all the columns I need, not just the remove one like last time. This is for the update

//these three you'll see
    OnRowCancelingEdit="UsersGridView_RowCancelingEdit"
    OnRowUpdating="UsersGridView_RowUpdating"
    OnRowEditing="UsersGridView_RowEditing"  
//style
    BackColor="White" BorderColor="#3366CC" BorderStyle="None" 
            BorderWidth="1px" CellPadding="4">

        <Columns>
//declaring columns. Skip the remove one (the first) and take a look at what is needed for the editing and updating to work
        <asp:TemplateField HeaderText="Remove users" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" ShowHeader="false" HeaderStyle-Height="40px">
                            <ItemTemplate>
                                <asp:LinkButton ID="Remove"  Text="Remove" OnClick="RemoveUser" CommandArgument='<%# Eval("userName") %>'  CommandName="RemoveUser"  runat="server"></asp:LinkButton>
                            </ItemTemplate>
                              <HeaderStyle Height="40px" CssClass="leftborder"></HeaderStyle>
                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="33px"></ItemStyle>

                        </asp:TemplateField>

//here we go, not remove.
                        <asp:TemplateField HeaderText="User Name">
                            <ItemTemplate>
                                <asp:Label ID="UserNamelbl" runat="server" Text='<%# Eval("userName") %>'></asp:Label>//a label to show something
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="UserNameEdit" Width="100" Text='<%# Eval("userName") %>' Enabled="true" runat="server"></asp:TextBox>// a textbox to edit. the rest is the same (give or take)
                            </EditItemTemplate>
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="Email">
                            <ItemTemplate>
                                <asp:Label ID="Emaillbl" runat="server" Text='<%# Eval("email") %>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="EmailEdit" Width="150" Text='<%# Eval("email") %>' Enabled="true" runat="server"></asp:TextBox>
                            </EditItemTemplate>
                        </asp:TemplateField>


//checkbox here! Slightly different but around the same.
                        <asp:TemplateField HeaderText="Admin">
                            <ItemTemplate>
                                <asp:CheckBox ID="IsAdminBox" runat="server" Enabled="false" Checked='<%# bool.Parse(Eval("isAdmin").ToString()) %>' />
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:CheckBox ID="IsAdminBoxEdit" runat="server" Checked='<%# bool.Parse(Eval("isAdmin").ToString()) %>' Enabled="true" />
                            </EditItemTemplate>
                        </asp:TemplateField>



    </Columns>

//style

          <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
          <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
          <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
          <RowStyle BackColor="White" ForeColor="#003399" />
          <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
          <SortedAscendingCellStyle BackColor="#EDF6F6" />
          <SortedAscendingHeaderStyle BackColor="#0D4AC4" />
          <SortedDescendingCellStyle BackColor="#D6DFDF" />
          <SortedDescendingHeaderStyle BackColor="#002876" />



    </asp:GridView>