有谁知道DATAGRID的选择按钮列和分页该怎样共处,为什么他们两个一起用会不好用呢?
有谁知道DATAGRID的选择按钮列和分页该怎样共处,为什么他们两个一起用会不好用呢? 问题点数:20、回复次数:4Top
1 楼wangxt(海贝)回复于 2004-12-01 08:53:40 得分 6
帮你顶Top
2 楼hanxu(逆风飞扬)回复于 2004-12-01 10:49:08 得分 0
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
Dim selectcname As TableCell = e.Item.Cells(0)
Dim selectdnum As TableCell = e.Item.Controls(1)
Dim selectsn As TableCell = e.Item.Cells(2)
Dim selectproarea As TableCell = e.Item.Cells(3)
Dim selectspec As TableCell = e.Item.Cells(4)
Dim selectelesort As TableCell = e.Item.Cells(5)
Dim selectunitprice As TableCell = e.Item.Cells(6)
Dim selectinstock As TableCell = e.Item.Cells(7)
Dim selectinstocktime As TableCell = e.Item.Cells(8)
Dim selectattach As TableCell = e.Item.Cells(9)
Dim selectunit As TableCell = e.Item.Cells(10)
Dim selecttransact As TableCell = e.Item.Cells(11)
Dim selectrn As TableCell = e.Item.Cells(15)
Dim select1 As TableCell = e.Item.Cells(16)
txt_cname.Text = Trim(selectcname.Text.Replace(" ", ""))
txt_dnum.Text = Trim(selectdnum.Text.Replace(" ", ""))
txt_sn.Text = Trim(selectsn.Text.Replace(" ", ""))
drop1.SelectedItem.Text = selectproarea.Text.Replace(" ", "")
txt_spec.Text = Trim(selectspec.Text.Replace(" ", ""))
txt_elesort.Text = Trim(selectelesort.Text.Replace(" ", ""))
txt_unitprice.Text = Trim(selectunitprice.Text.Replace(" ", ""))
txt_instock.Text = Trim(selectinstock.Text.Replace(" ", ""))
txt_instocktime.Text = Trim(selectinstocktime.Text.Replace(" ", ""))
drop5.SelectedItem.Text = selectattach.Text.Replace(" ", "")
txt_unit.Text = Trim(selectunit.Text.Replace(" ", ""))
txt_transact.Text = Trim(selecttransact.Text.Replace(" ", ""))
txt_rn.Text = Trim(selectrn.Text)
selectbutton = select1.Controls(0)
End Sub
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Dim dtr As String
dtr = "select x.cname ,x.dnum,x.sn,x.proarea,x.spec,x.elesort,x.unitprice,x.instock,x.instocktime,x.attach," & _
"x.unit,x.transact,y.avgprice,y.totalprice,y.nowstock,x.rn from intable x,maintable y where x.dnum=y.dnum"
DataGrid1.DataSource = query(dtr)
' DataGrid1.CurrentPageIndex() = 0
DataGrid1.DataBind()
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
' selectbutton.Enabled = False
End Sub
query是字定义方法,连接数据库返回DATASET,肯定好用的!Top
3 楼xavier(尼日利亚)回复于 2004-12-01 11:29:21 得分 6
可以自己在DataGrid1_ItemCommand的事件里面写,上面已经给出了例子。
你要是想做出个性化的datagrid,这个事件是要好好下点功夫研究研究的。Top
4 楼ttuuhhuuii(爱上了csdn)回复于 2004-12-01 11:50:22 得分 8
按钮列你给它一个CommandName
例如:<asp:ButtonColumn Text="选择" CommandName="select"></asp:ButtonColumn>
然后在DataGrid1_ItemCommand的事件里面写
例如:
private void DataGrid1_ItemCommand(...)
{
if(e.CommandName=="select")
{
//执行选择按钮列要完成的功能
}
}
这样的话翻页和按钮列就不会相互影响了Top




