我想創建一個搜索按鈕,以便我可以根據我想在中繼器表中搜索的內容進行搜索。我不知道怎么做,因為我已經嘗試了 repGender.Rebind(),但仍然錯了......我不知道后面的代碼如何,因為我知道我們需要:
Protected Sub BtnSearch_Click(sender As Object, e As EventArgs) 處理 BtnSearch.Click
這是 UI,表格在中繼器中
正面代碼
<label for="name">Jantina</label>
<asp:DropDownList ID="ddlGender" runat="server"></asp:DropDownList>
<asp:Button ID="BtnSearch" runat="server" Text="Search" />
<br/><br/>
<asp:Repeater ID="repGender" runat="server">
<HeaderTemplate>
<table cellspacing="0" rules="all" border="1">
<tr>
<th>Gender</th>
<th>Total</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("GENDER")%>
</td>
<td style="text-align: center">
<%# Eval("TOTAL")%></a>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr style="font-weight: bold">
<td>Grand Total</td>
<td style="text-align: center">
<asp:Label runat="server" ID="lblTotal"></asp:Label>
</td>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
代碼背后
Partial Class Statistics
Inherits App.Main
Dim MyTotal As Integer
Private Property Label As Object
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
BindData()
ddlGender_Bind()
End If
End Sub
Sub BindData()
Dim dal As New DBWrapper.DAL(strConnectionString, strProviderName)
Dim dt As New DataTable
dal.DB.Parameters.Clear()
dal.DB.AddParameter("@GENDER", ddlGender.Text)
If dal.DB.ExecuteProcedure(dt, "GENDER_BB") Then
repGender.DataSource = dt
repGender.DataBind()
End If
End Sub
Protected Sub repGender_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles repGender.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim gData As DataRowView = e.Item.DataItem
MyTotal = MyTotal gData.Item("TOTAL")
End If
If e.Item.ItemType = ListItemType.Footer Then
' set the total value in footer
Dim lblTotal As Label = e.Item.FindControl("lblTotal")
lblTotal.Text = MyTotal
End If
End Sub
Public Sub ddlGender_Bind()
Dim dal As New DBWrapper.DAL(strConnectionString, strProviderName)
Dim dt As New DataTable
If dal.DB.ExecuteProcedure(dt, "GENDER_R") Then
Share.LoadList(ddlGender, "GENDER", "GENDER_ID", dt, Enums.MsgCode.PleaseSelect.ToString, ListOrder.ByValue)
End If
End Sub
Protected Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click
End Sub
End Class
uj5u.com熱心網友回復:
在這里分享一下答案,供大家參考……
Protected Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click Dim dal As New DBWrapper.DAL(strConnectionString, strProviderName) Dim dt As New DataTable dal.DB.Parameters.Clear() dal.DB.AddParameter("@ GENDER", ddlGender.SelectedValue) If dal.DB.ExecuteProcedure(dt, "GENDER_B") Then repGender.DataSource = dt repGender.DataBind()
End If
End Sub
在存盤程序 GENDER_B
ALTER PROCEDURE [dbo].[GENDER_B]
@GENDER as INT
AS
BEGIN
declare @sql as varchar(max)
set @sql='SELECT b.GENDER, COUNT(b.GENDER) AS TOTAL FROM USERS a
JOIN GENDER b ON b.GENDER_ID = a.GENDER
WHERE IS_DELETED = 0
GROUP BY b.GENDER'
if @GENDER<>''
begin
set @sql = @sql 'and a.GENDER=''' @GENDER ''' '
end
--select @sql
exec(@sql)
END
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/529162.html
標籤:网VB.net前级
