mardi 16 octobre 2018

Update SQL from Checkbox in ListView

Goal: Update row(s) in SQL table when Checkbox inside ListView is clicked. I would like to update the following columns from sql: IsApproved ApprovalType

I am able to find the checkbox in the row that is clicked from the Listview on the page. However, that is as far as I got. Current code below, as well as what I've tried and the subsequent errors.


Code:

aspx:

<LayoutTemplate>
        <div class="table-responsive">
            <table class="table">
                <thead>
                    <tr>                            
                        <th>Last Name</th>
                        <th>First Name</th>
                        <th>UserName</th>
                       <th>Approve User</th>

            <td><%# Item.LastName %></td>
            <td><%# Item.FirstName %></td>
            <td><%# Item.UserName %></td>
            <td> <asp:CheckBox ID="cbApproved" runat="server" AutoPostBack="true" OnCheckedChanged="Approve_Click" /> </td>

c#:

protected void Approve_Click(object sender, EventArgs e)
    {
        foreach (ListViewItem item in lstUsers.Items)
        {
            if ((item.FindControl("cbApproved") as CheckBox).Checked == true)
            {
                System.Diagnostics.Debug.WriteLine("it was checked!");

I've tried:

  • item.ColumnName -- but get error ListView does not contain a definition for ''
  • item.DataItem -- the output displays what looks like an object as a whole (System.Web.UI.WebControls.ListViewDataItem)
  • item.DataItem.ColumnName -- but get error Object does not contain a definition for ''

Do the column values im looking to update in SQL have to be displayed on the ASPX page?

I looked through:

https://msdn.microsoft.com/en-us/library/bb398790.aspx#ModifyingDataUsingTheListViewControl

Asp.Net CheckBoxList to update a SqlDataSource




Aucun commentaire:

Enregistrer un commentaire