[英]Edited code.How to display gridview from dropdown list in asp.net using vb.net
嗨,我已經發布了這個問題,但是卻無法得到答案,請幫助我通過下拉列表顯示gridview。 下面是vb.net中的代碼
Private Sub BindGridView()
Dim filter As String = ""
If ddlOwnerDepartment.SelectedValue <> "" Then
filter = filter & " AND OwnerDepartment ='" & ddlOwnerDepartment.SelectedValue & "'"
End If
Dim table1 As DataTable = New DataTable("Details")
table1.Columns.Add("ReferenceNo")
table1.Columns.Add("Title")
table1.Columns.Add("Counterparty")
table1.Columns.Add("OwnerDepartment")
table1.Columns.Add("Status")
table1.Columns.Add("CreatedBy")
table1.Columns.Add("CreatedOn")
table1.Columns.Add("link")
table1.Rows.Clear()
Dim conSQL As New SqlConnection(conStrDRS)
conSQL.Open()
Dim cmdSQL As SqlCommand = New SqlCommand("SELECT Title, ReferenceNo,OwnerDepartment,CreatedBy,CreatedOn,Status,Counterparty " & _
" FROM [dbo].[Registration]" & filter)
cmdSQL.Connection = conSQL
Dim adptSQL As New SqlClient.SqlDataAdapter(cmdSQL)
Dim myDataSet As New DataSet()
adptSQL.Fill(myDataSet)
conSQL.Close()
gvDetails.DataSource = myDataSet.Tables(0) 'dvAlert
gvDetails.DataBind()
End Sub
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
BindGridView()
End Sub
您正在連接filter
和不需要的sql query
末尾,因為filter
具有與在查詢末尾已經添加的值相同的值。
也不要使用Parameterized SQL
連接值。 像這樣將參數添加到您的sql查詢中。
Dim cmdSQL As SqlCommand = New SqlCommand("SELECT Title, ReferenceNo,OwnerDepartment,CreatedBy,CreatedOn,Status,Counterparty " &
" FROM [dbo].[Registration] Where OwnerDepartment=@OwnerDepartment");
cmdSQL.Paramters.AddWithValue("@OwnerDepartment",ddlOwnerDepartment.SelectedValue);
編輯
Private Sub BindGridView(bool showAll)
Dim filter As String = ""
If ddlOwnerDepartment.SelectedValue <> "" Then
filter = filter & " AND OwnerDepartment ='" & ddlOwnerDepartment.SelectedValue & "'"
End If
Dim table1 As DataTable = New DataTable("Details")
table1.Columns.Add("ReferenceNo")
table1.Columns.Add("Title")
table1.Columns.Add("Counterparty")
table1.Columns.Add("OwnerDepartment")
table1.Columns.Add("Status")
table1.Columns.Add("CreatedBy")
table1.Columns.Add("CreatedOn")
table1.Columns.Add("link")
table1.Rows.Clear()
Dim conSQL As New SqlConnection(conStrDRS)
conSQL.Open()
Dim cmdSQL As SqlCommand = New SqlCommand("SELECT Title, ReferenceNo,OwnerDepartment,CreatedBy,CreatedOn,Status,Counterparty FROM [dbo].[Registration] ";
if showAll==false then
cmdSQL += "Where OwnerDepartment=@OwnerDepartment");
cmdSQL.Paramters.AddWithValue("@OwnerDepartment",ddlOwnerDepartment.SelectedValue);
End If
cmdSQL.Connection = conSQL
Dim adptSQL As New SqlClient.SqlDataAdapter(cmdSQL)
Dim myDataSet As New DataSet()
adptSQL.Fill(myDataSet)
conSQL.Close()
gvDetails.DataSource = myDataSet.Tables(0) 'dvAlert
gvDetails.DataBind()
End Sub
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
BindGridView(true)
End Sub
現在,當您從dropdown search
調用此函數時,將該函數的false傳遞給BindGridView(false)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.