没有自动分页的功能,不想datagrid web control.
如果你要分页,只有动态帮定table的不同部分记录.
选择某行后,如何把datagrid所对应dataset中记录的内容绑定到几个TextBox中?
'单击类别的datagird时,把当前记录的ID传递给更新按钮的tag
Private Sub DataGrid2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid2.Click
Try
Dim dst As DataTable
dst = CType(DataGrid2.DataSource, DataTable)
If Not (dst Is Nothing) Then
btnItemTypeDel.Tag = dst.Rows(DataGrid2.CurrentRowIndex).Item(1) '0 is the ID colum
btnItemTypeRen.Tag = btnItemTypeDel.Tag
End If
Catch
End Try
End Sub
<asp:DataGrid id="DataGrid2" style="Z-INDEX: 107; LEFT: 10px; POSITION: absolute; TOP: 342px" runat="server" AutoGenerateColumns="False" OnItemCommand="DEDR_send">
<Columns>
<asp:TemplateColumn HeaderText="发送邮件">
<ItemTemplate>
<asp:ImageButton Runat="server" ImageUrl="images/email.gif" CommandName="send"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Sub DEDR_send(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim DBConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("Conn"))
Dim selectCMD As SqlClient.SqlCommand = New SqlClient.SqlCommand("SELECT * FROM huiyuan order by power DESC", DBConn)
selectCMD.CommandTimeout = 30
Dim DBAdapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter()
DBAdapter.SelectCommand = selectCMD
DBConn.Open()
Dim dataset As DataSet = New Data.DataSet("huiyuan")
DBAdapter.Fill(dataset, "huiyuan")
Dim row As Integer = CInt(e.Item.ItemIndex)
Dim str As String = dataset.Tables(0).Rows(row).Item("password")
System.Diagnostics.Process.Start("mailto:str")
End Sub
第二个:
在datagrid的click事件中写代码来处理
第一个:
Datagrid的分页好象是使用改变数据源得到的,下面是一个网友给我的答案:
declare @SQLStr varchar(8000)
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)