我给你我的代码:(可以不要那么完整的,但完整了总没错) Private Sub ShowQueryData() '''这个是用来读数据和绑定的过程 Dim Conn As New SqlClient.SqlConnection(Application.Item("ConnString")) Dim Cmd As New SqlClient.SqlCommand() Dim myAdapter As New SqlClient.SqlDataAdapter() Dim myDataSet As New DataSet() Conn.Open() Cmd.CommandType = CommandType.StoredProcedure Cmd.CommandText = "dbo.procSearchNews" Cmd.Parameters.Add("@strSqlCondiction", strSqlCondict) Cmd.Parameters.Add("@strDepartID", Session.Item("strUserDepart")) If Session.Item("strUserRight") >= 3 Then Cmd.Parameters.Add("@intRight", "3") End If Cmd.Connection = Conn myAdapter.SelectCommand = Cmd myAdapter.Fill(myDataSet, "viewDisplayNews") Dim tempcolumn As New DataColumn("MediaType", GetType(String)) Dim tempColumn1 As New DataColumn("newsGoWhere", GetType(String)) Dim tempColumnHref As New DataColumn("NewsHref", GetType(String)) Dim tempIsValid As New DataColumn("isValid", GetType(String)) myDataSet.Tables("viewDisplaynews").Columns.Add(tempcolumn) myDataSet.Tables("viewDisplaynews").Columns.Add(tempColumn1) myDataSet.Tables("viewDisplayNews").Columns.Add(tempColumnHref) myDataSet.Tables("viewDisplayNews").Columns.Add(tempIsValid) Dim tempRow As DataRow Dim i As Short Dim j As Short Dim k As Integer Dim l As Boolean For Each tempRow In myDataSet.Tables("viewDisplayNews").Rows '在所有行中写入数据 i = tempRow("N_status") j = tempRow("N_where") k = tempRow("N_id") l = tempRow("N_Valid") If l = True Then tempRow("isValid") = "是" Else tempRow("isValid") = "否" End If If i = 0 Then tempRow("MediaType") = "文本" tempRow("NewsHref") = "OneTextNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 1 Then tempRow("MediaType") = "图片" tempRow("NewsHref") = "OnePicNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 2 Then tempRow("MediaType") = "音频" tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 3 Then tempRow("MediaType") = "视频" tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString End If If j = 0 Then tempRow("newsGoWhere") = "校内" ElseIf j = 1 Then tempRow("newsGoWhere") = "校外" Else tempRow("newsGoWhere") = "校内外" End If Next gridResult.DataSource = myDataSet.Tables("viewDisplayNews").DefaultView gridResult.DataBind() '绑定到数据显示datagrid控件 End Sub '''数据读出和绑定结束''----------------------------以下是分页的时候的过程 Private Sub gridResult_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles gridResult.PageIndexChanged gridResult.CurrentPageIndex = e.NewPageIndex gridResult.DataBind() ShowQueryData()'''调用前面的数据显示过程 End Sub
to jsPan(三木俊子): 我怎么没见你控件显示的过程是这样的: A按钮:条件1:A1控件出现 条件2:A2控件出现 ..........但是,当我在A1中点击按钮时,A1不出现,我知道要重新加载,我想问的是怎么加载是最好的方法,我不希望在page_load中加载,因为我用了multipage,有5到6页,且每一个中都有A1,如果在page_load中加载,不好,我希望只在一页中加载。
gridResult.CurrentPageIndex = e.NewPageIndex gridResult.DataBind() ShowQueryData() 有问题啊!老哥。 你的dg帮定前,没有指定ddatasource,你帮定的是什么啊?? 你要说是在 ShowQueryData()中帮定的,还可以说的过去。 建议改为: 添加: Property myDataSet () As DataSet Get Return Session("MYDS") End Get Set(ByVal Value As DataSet) Session("MYDS") = Value End Set End Property page_load:if not ispostback then myDataSet =new dataset() ShowQueryData() end ifShowQueryData: Private Sub ShowQueryData() '''这个是用来读数据和绑定的过程 Dim Conn As New SqlClient.SqlConnection(Application.Item("ConnString")) Dim Cmd As New SqlClient.SqlCommand() Dim myAdapter As New SqlClient.SqlDataAdapter() Conn.Open() Cmd.CommandType = CommandType.StoredProcedure Cmd.CommandText = "dbo.procSearchNews" Cmd.Parameters.Add("@strSqlCondiction", strSqlCondict) Cmd.Parameters.Add("@strDepartID", Session.Item("strUserDepart")) If Session.Item("strUserRight") >= 3 Then Cmd.Parameters.Add("@intRight", "3") End If Cmd.Connection = Conn myAdapter.SelectCommand = Cmd myAdapter.Fill(myDataSet, "viewDisplayNews") Dim tempcolumn As New DataColumn("MediaType", GetType(String)) Dim tempColumn1 As New DataColumn("newsGoWhere", GetType(String)) Dim tempColumnHref As New DataColumn("NewsHref", GetType(String)) Dim tempIsValid As New DataColumn("isValid", GetType(String)) myDataSet.Tables("viewDisplaynews").Columns.Add(tempcolumn) myDataSet.Tables("viewDisplaynews").Columns.Add(tempColumn1) myDataSet.Tables("viewDisplayNews").Columns.Add(tempColumnHref) myDataSet.Tables("viewDisplayNews").Columns.Add(tempIsValid) Dim tempRow As DataRow Dim i As Short Dim j As Short Dim k As Integer Dim l As Boolean For Each tempRow In myDataSet.Tables("viewDisplayNews").Rows '在所有行中写入数据 i = tempRow("N_status") j = tempRow("N_where") k = tempRow("N_id") l = tempRow("N_Valid") If l = True Then tempRow("isValid") = "是" Else tempRow("isValid") = "否" End If If i = 0 Then tempRow("MediaType") = "文本" tempRow("NewsHref") = "OneTextNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 1 Then tempRow("MediaType") = "图片" tempRow("NewsHref") = "OnePicNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 2 Then tempRow("MediaType") = "音频" tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString ElseIf i = 3 Then tempRow("MediaType") = "视频" tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString End If If j = 0 Then tempRow("newsGoWhere") = "校内" ElseIf j = 1 Then tempRow("newsGoWhere") = "校外" Else tempRow("newsGoWhere") = "校内外" End If Next gridResult.DataSource = myDataSet gridResult.DataBind() '绑定到数据显示datagrid控件 End Sub '''数据读出和绑定结束
Private Sub gridResult_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles gridResult.PageIndexChanged gridResult.CurrentPageIndex = e.NewPageIndex gridResult.DataSource = myDataSet gridResult.DataBind() End Sub
Dim Conn As New SqlClient.SqlConnection(Application.Item("ConnString"))
Dim Cmd As New SqlClient.SqlCommand()
Dim myAdapter As New SqlClient.SqlDataAdapter()
Dim myDataSet As New DataSet()
Conn.Open()
Cmd.CommandType = CommandType.StoredProcedure
Cmd.CommandText = "dbo.procSearchNews"
Cmd.Parameters.Add("@strSqlCondiction", strSqlCondict)
Cmd.Parameters.Add("@strDepartID", Session.Item("strUserDepart"))
If Session.Item("strUserRight") >= 3 Then
Cmd.Parameters.Add("@intRight", "3")
End If
Cmd.Connection = Conn
myAdapter.SelectCommand = Cmd
myAdapter.Fill(myDataSet, "viewDisplayNews")
Dim tempcolumn As New DataColumn("MediaType", GetType(String))
Dim tempColumn1 As New DataColumn("newsGoWhere", GetType(String))
Dim tempColumnHref As New DataColumn("NewsHref", GetType(String))
Dim tempIsValid As New DataColumn("isValid", GetType(String))
myDataSet.Tables("viewDisplaynews").Columns.Add(tempcolumn)
myDataSet.Tables("viewDisplaynews").Columns.Add(tempColumn1)
myDataSet.Tables("viewDisplayNews").Columns.Add(tempColumnHref)
myDataSet.Tables("viewDisplayNews").Columns.Add(tempIsValid)
Dim tempRow As DataRow
Dim i As Short
Dim j As Short
Dim k As Integer
Dim l As Boolean
For Each tempRow In myDataSet.Tables("viewDisplayNews").Rows '在所有行中写入数据
i = tempRow("N_status")
j = tempRow("N_where")
k = tempRow("N_id")
l = tempRow("N_Valid")
If l = True Then
tempRow("isValid") = "是"
Else
tempRow("isValid") = "否" End If
If i = 0 Then
tempRow("MediaType") = "文本"
tempRow("NewsHref") = "OneTextNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 1 Then
tempRow("MediaType") = "图片"
tempRow("NewsHref") = "OnePicNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 2 Then
tempRow("MediaType") = "音频"
tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 3 Then
tempRow("MediaType") = "视频"
tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString
End If
If j = 0 Then
tempRow("newsGoWhere") = "校内"
ElseIf j = 1 Then
tempRow("newsGoWhere") = "校外"
Else
tempRow("newsGoWhere") = "校内外"
End If
Next
gridResult.DataSource = myDataSet.Tables("viewDisplayNews").DefaultView
gridResult.DataBind() '绑定到数据显示datagrid控件 End Sub '''数据读出和绑定结束''----------------------------以下是分页的时候的过程
Private Sub gridResult_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles gridResult.PageIndexChanged
gridResult.CurrentPageIndex = e.NewPageIndex
gridResult.DataBind()
ShowQueryData()'''调用前面的数据显示过程
End Sub
我怎么没见你控件显示的过程是这样的:
A按钮:条件1:A1控件出现
条件2:A2控件出现
..........但是,当我在A1中点击按钮时,A1不出现,我知道要重新加载,我想问的是怎么加载是最好的方法,我不希望在page_load中加载,因为我用了multipage,有5到6页,且每一个中都有A1,如果在page_load中加载,不好,我希望只在一页中加载。
gridResult.DataBind()
ShowQueryData()
有问题啊!老哥。
你的dg帮定前,没有指定ddatasource,你帮定的是什么啊??
你要说是在 ShowQueryData()中帮定的,还可以说的过去。
建议改为:
添加:
Property myDataSet () As DataSet
Get
Return Session("MYDS")
End Get
Set(ByVal Value As DataSet)
Session("MYDS") = Value
End Set
End Property
page_load:if not ispostback then
myDataSet =new dataset()
ShowQueryData()
end ifShowQueryData:
Private Sub ShowQueryData() '''这个是用来读数据和绑定的过程
Dim Conn As New SqlClient.SqlConnection(Application.Item("ConnString"))
Dim Cmd As New SqlClient.SqlCommand()
Dim myAdapter As New SqlClient.SqlDataAdapter()
Conn.Open()
Cmd.CommandType = CommandType.StoredProcedure
Cmd.CommandText = "dbo.procSearchNews"
Cmd.Parameters.Add("@strSqlCondiction", strSqlCondict)
Cmd.Parameters.Add("@strDepartID", Session.Item("strUserDepart"))
If Session.Item("strUserRight") >= 3 Then
Cmd.Parameters.Add("@intRight", "3")
End If
Cmd.Connection = Conn
myAdapter.SelectCommand = Cmd
myAdapter.Fill(myDataSet, "viewDisplayNews")
Dim tempcolumn As New DataColumn("MediaType", GetType(String))
Dim tempColumn1 As New DataColumn("newsGoWhere", GetType(String))
Dim tempColumnHref As New DataColumn("NewsHref", GetType(String))
Dim tempIsValid As New DataColumn("isValid", GetType(String))
myDataSet.Tables("viewDisplaynews").Columns.Add(tempcolumn)
myDataSet.Tables("viewDisplaynews").Columns.Add(tempColumn1)
myDataSet.Tables("viewDisplayNews").Columns.Add(tempColumnHref)
myDataSet.Tables("viewDisplayNews").Columns.Add(tempIsValid)
Dim tempRow As DataRow
Dim i As Short
Dim j As Short
Dim k As Integer
Dim l As Boolean
For Each tempRow In myDataSet.Tables("viewDisplayNews").Rows '在所有行中写入数据
i = tempRow("N_status")
j = tempRow("N_where")
k = tempRow("N_id")
l = tempRow("N_Valid")
If l = True Then
tempRow("isValid") = "是"
Else
tempRow("isValid") = "否" End If
If i = 0 Then
tempRow("MediaType") = "文本"
tempRow("NewsHref") = "OneTextNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 1 Then
tempRow("MediaType") = "图片"
tempRow("NewsHref") = "OnePicNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 2 Then
tempRow("MediaType") = "音频"
tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString
ElseIf i = 3 Then
tempRow("MediaType") = "视频"
tempRow("NewsHref") = "OneVideoNews.aspx?NewsIDPara=" + k.ToString
End If
If j = 0 Then
tempRow("newsGoWhere") = "校内"
ElseIf j = 1 Then
tempRow("newsGoWhere") = "校外"
Else
tempRow("newsGoWhere") = "校内外"
End If
Next
gridResult.DataSource = myDataSet
gridResult.DataBind() '绑定到数据显示datagrid控件 End Sub '''数据读出和绑定结束
gridResult.CurrentPageIndex = e.NewPageIndex
gridResult.DataSource = myDataSet
gridResult.DataBind()
End Sub