Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 编辑的代码。如何使用vb.net在asp.net中从下拉列表中显示gridview_Html_Asp.net_Vb.net_Gridview - Fatal编程技术网

Html 编辑的代码。如何使用vb.net在asp.net中从下拉列表中显示gridview

Html 编辑的代码。如何使用vb.net在asp.net中从下拉列表中显示gridview,html,asp.net,vb.net,gridview,Html,Asp.net,Vb.net,Gridview,嗨,我已经发布了这个问题,但无法得到答案,请帮助我通过下拉列表显示gridview。下面是vb.net中的代码 Private Sub BindGridView() Dim filter As String = "" If ddlOwnerDepartment.SelectedValue <> "" Then filter = filter & " AND OwnerDepartment ='" & ddlOwnerDepar

嗨,我已经发布了这个问题,但无法得到答案,请帮助我通过下拉列表显示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
Private子BindGridView()
Dim filter As String=“”
如果DlownerDepartment.SelectedValue“”则
filter=filter&“和OwnerDepartment='”&ddlOwnerDepartment.SelectedValue&'”
如果结束
作为数据表的Dim表1=新数据表(“详细信息”)
表1.新增列(“参考号”)
表1.列。添加(“标题”)
表1.添加栏(“交易对手”)
表1.列。添加(“所有者部门”)
表1.列。添加(“状态”)
表1.Columns.Add(“CreatedBy”)
表1.Columns.Add(“CreatedOn”)
表1.列。添加(“链接”)
表1.Rows.Clear()
Dim conSQL作为新的SqlConnection(conStrDRS)
conSQL.Open()
Dim cmdSQL As SqlCommand=新的SqlCommand(“选择标题、参考号、所有者部门、CreatedBy、CreatedOn、状态、交易对手”&_
“来自[dbo]。[注册]”&过滤器)
cmdSQL.Connection=conSQL
Dim adptSQL作为新的SqlClient.SqlDataAdapter(cmdSQL)
将myDataSet设置为新数据集()
adptSQL.Fill(myDataSet)
conSQL.Close()
gvDetails.DataSource=myDataSet.Tables(0)的dvAlert
gvDetails.DataBind()
端接头
私有子BTN搜索\单击(发件人作为对象,e作为事件参数)处理BTN搜索。单击
BindGridView()
端接头

您正在连接
过滤器
sql查询的结尾
,这是不需要的,因为
过滤器
的值与您在查询结尾添加的值相同

也不要使用参数化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
私有子BindGridView(bool showAll)
Dim filter As String=“”
如果DlownerDepartment.SelectedValue“”则
filter=filter&“和OwnerDepartment='”&ddlOwnerDepartment.SelectedValue&'”
如果结束
作为数据表的Dim表1=新数据表(“详细信息”)
表1.新增列(“参考号”)
表1.列。添加(“标题”)
表1.添加栏(“交易对手”)
表1.列。添加(“所有者部门”)
表1.列。添加(“状态”)
表1.Columns.Add(“CreatedBy”)
表1.Columns.Add(“CreatedOn”)
表1.列。添加(“链接”)
表1.Rows.Clear()
Dim conSQL作为新的SqlConnection(conStrDRS)
conSQL.Open()
Dim cmdSQL As SqlCommand=新的SqlCommand(“从[dbo].[Registration]]中选择标题、引用号、所有者部门、CreatedBy、CreatedOn、状态、交易对手”;
如果showAll==false,则
cmdSQL+=“其中OwnerDepartment=@OwnerDepartment”);
cmdSQL.parameters.AddWithValue(“@OwnerDepartment”,ddlOwnerDepartment.SelectedValue);
如果结束
cmdSQL.Connection=conSQL
Dim adptSQL作为新的SqlClient.SqlDataAdapter(cmdSQL)
将myDataSet设置为新数据集()
adptSQL.Fill(myDataSet)
conSQL.Close()
gvDetails.DataSource=myDataSet.Tables(0)的dvAlert
gvDetails.DataBind()
端接头
私有子BTN搜索\单击(发件人作为对象,e作为事件参数)处理BTN搜索。单击
BindGridView(真)
端接头

现在,当您从
下拉搜索
调用此函数时,请将false从该函数传递到
BindGridView(false)
中,您将连接
过滤器
sql查询结束
,这是不需要的,因为
过滤器
的值与您在查询结束时添加的值相同

也不要使用参数化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
私有子BindGridView(bool showAll)
Dim filter As String=“”
如果DlownerDepartment.SelectedValue“”则
filter=filter&“和OwnerDepartment='”&ddlOwnerDepartment.SelectedValue&'”
如果结束
作为数据表的Dim表1=新数据表(“详细信息”)
表1.新增列(“参考号”)
表1.列。添加(“标题”)
表1.添加栏(“交易对手”)
表1.列。添加(“所有者部门”)
表1.列。添加(“状态”)
表1.Columns.Add(“CreatedBy”)
表1.Columns.Add(“CreatedOn”)
表1.列。添加(“链接”)
表1.Rows.Clear()
Dim conSQL作为新的SqlConnection(conStrDRS)
conSQL.Open()
Dim cmdSQL As SqlCommand=新的SqlCommand(“从[dbo].[Registration]]中选择标题、引用号、所有者部门、CreatedBy、CreatedOn、状态、交易对手”;
如果showAll==false,则
cmdSQL+=“其中OwnerDepartment=@OwnerDepartment”);
cmdSQL.parameters.AddWithValue(“@OwnerDepartment”,ddlOwnerDepartment.SelectedValue);
如果结束
cmdSQL.Connection=conSQL
Dim adptSQL作为新的SqlClient.SqlDataAdapter(cmdSQL)
将myDataSet设置为新数据集()
adptSQL.Fill(myDataSet)
conSQL.Close()
gvDetails.DataSource=myDataSet.Tables(0)的dvAlert
gvDetails.DataBind()
端接头
私有子BTN搜索\单击(发件人作为对象,e作为事件参数)处理BTN搜索。单击
BindGridView(真)
端接头

现在,当您从
下拉搜索调用此函数时,请将false从该函数传递到
BindGridView(false)

您面临的问题是什么?为什么要在
OwnerDepartment
上应用筛选器两次?另外,您应该使用参数化查询来避免SQL注入攻击。你好,avi,问题是什么?有错误吗?例外,当我点击“搜索无可用数据”时,请附带具体问题。嗨,Rahul,我想通过ownerdepartment搜索gridview,这也是下拉列表。我可以更新一下吗?您面临的问题是什么?为什么要在
OwnerDepartment
上应用筛选器两次?另外,您应该使用参数化查询来避免SQL注入攻击。你好,avi,问题是什么?有错误吗?例外,当我点击搜索时,请附带问题中的具体内容。嗨,Rahul,我想通过自己的部门搜索gridview,这也是下拉列表,我可以更新吗?Hi,Mairaj,它可以工作,但我的问题是,我想在点击搜索按钮时显示,请帮助我。谢谢你的回答。应该可以。当你点击按钮时,你能检查一下吗?