Note that there are some explanatory texts on larger screens.

plurals
  1. PODeleting rows from listview bases on a value for a column
    text
    copied!<p>I got a datatable in list view.</p> <p>ID TelcoName Reload Value(RM) Quantity Total(RM) 1 Maxis 5 1 5 Delete 2 Digi 5 1 5 Delete</p> <p>This is basically what my table looks like. My html code is this:</p> <pre><code>&lt;asp:ListView ID="ListView1" runat="server" OnSorting="ListView1Sorting" OnItemCommand="ListView1_ItemCommand"&gt; &lt;LayoutTemplate&gt; &lt;table border="0" cellpadding="1"&gt; &lt;tr style="background-color:#FFFFFF"&gt; &lt;th align="center"&gt;&lt;asp:Label ID="lblId" runat="server"&gt;Id &amp;nbsp;&lt;/asp:Label&gt;&lt;/th&gt; &lt;th align="center"&gt;&lt;asp:Label ID="lblName" runat="server"&gt;TelcoName&amp;nbsp;&lt;/asp:Label&gt;&lt;/th&gt; &lt;th align="center"&gt;&lt;asp:Label ID="lblReloadValue" runat="server"&gt;Reload Value(RM)&amp;nbsp;&lt;/asp:Label&gt;&lt;/th&gt; &lt;th align="center"&gt;&lt;asp:Label ID="lblQuantity" runat="server"&gt;Quantity&amp;nbsp;&lt;/asp:Label&gt;&lt;/th&gt; &lt;th align="center"&gt;&lt;asp:Label ID="lblTotal" runat="server"&gt;Total (RM)&amp;nbsp;&lt;/asp:Label&gt;&lt;/th&gt; &lt;th&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr id="itemPlaceholder" runat="server"&gt;&lt;/tr&gt; &lt;/table&gt; &lt;/LayoutTemplate&gt; &lt;ItemTemplate&gt; &lt;tr&gt; &lt;td align="center"&gt;&lt;asp:Label runat="server" ID="lblId"&gt;&lt;%#Eval("ID") %&gt;&lt;/asp:Label&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;asp:Label runat="server" ID="lblTelcoName"&gt;&lt;%#Eval("TelcoName") %&gt;&lt;/asp:Label&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;asp:Label runat="server" ID="lblReloadValue"&gt;&lt;%#Eval("ReloadValue")%&gt;&lt;/asp:Label&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;asp:Label runat="server" ID="lblQuantity"&gt;&lt;%#Eval("Quantity")%&gt;&lt;/asp:Label&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;asp:Label runat="server" ID="lblTotal"&gt;&lt;%#Eval("Total")%&gt;&lt;/asp:Label&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;asp:LinkButton ID="lnkDelete" runat="server" CommandName="Sort" CommandArgument="Delete"&gt;Delete&lt;/asp:LinkButton&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/ItemTemplate&gt; &lt;/asp:ListView&gt; </code></pre> <p>This is my behind code for deleting:</p> <p>Protected Sub ListView1_ItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs) If (e.CommandName) = "Sort" Then Dim txteno As Label = DirectCast(e.Item.FindControl("ID"), Label) Dim deletecommand As String = "delete from dt where ID=" &amp; Convert.ToInt32(txteno.text) Session("dt").DeleteCommand = deletecommand End If End Sub</p> <p>My problem here is i coud'nt get the ID of the row which the user choose. The "ID" is the name of the first column but when i run the website, this statement return nothing.</p> <p>Dim txteno As Label = DirectCast(e.Item.FindControl("ID"), Label)</p> <p>My question is how do i retrieve the value of the column("Id") to use for the deleting data? i ask around and someone suggest to me to use e.item.DataItemIndex but i coudnt find this command anywhere. Any idea how to solve this?</p> <p>This has just been added</p> <p>Dim dt As New DataTable Dim i = 0 Dim ID As New DataColumn("ID") dt.Columns.Add(ID) Dim TelcoName As New DataColumn("TelcoName") dt.Columns.Add(TelcoName) Dim ReloadValue As New DataColumn("ReloadValue") dt.Columns.Add(ReloadValue) Dim Quantity As New DataColumn("Quantity") dt.Columns.Add(Quantity) Dim Total As New DataColumn("Total") dt.Columns.Add(Total) ListView1.DataSource = dt ListView1.DataBind() Session("dt") = dt</p> <p>After i binded to the listview, do i need to delcare a name for the datatable so that i can use it as a reference for sql statement or i can just leave it as dt and in sql statement, when i refer to dt, it refer to the table in the listview?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload