何必要这样呢,直接在datagrid CurrentCellChanged事件中,根据不同ROW 和COL ,调用不同的方法不就行了
解决方案 »
- 在线急等:ReportViewer程序部署在IIS上后报错....
- 分组统计的问题
- 如何将数据保存到数据库中
- 求这句Sql如何理解
- 推荐个站点虽然只有一分
- framework 1.1下开发的程序在framework 2.0怎么运行不了,要怎样才能运行
- 在web网页中播放一段视频,用mediaplayer还是realplayer,有没有什么格式都可以播放的?
- datalist嵌套RadioButtonList
- 菜鸟问题!大哥请进!
- 各位大侠:我是用校园网上网的,请问怎么设置才能用QQ啊。谢谢了!
- asp.net中客户端控件的值如何保持?或者JSP怎么给TEXTBOX赋值
- 在DataGrid的绑定的超级链接列中怎样设置带有多个参数?
javascript代碼:
function cell_click(cell){
document.location="webform2.aspx?row="+parentElement.rowIndex+"&col="+cell.cellIndex;
//webform2.aspx換成你需要重新導向的頁面URL
}
服務器端代碼:
Private Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemCreated
Dim i As Int16
For i = 0 To e.Item.Cells.Count - 1
e.Item.Cells(i).Attributes.Add("onclick", "cell_click(this);")
Next
End Sub
注意客戶端取得的行和列的索引值与服務器端略有不同,具体的可以試驗一下.
For i = 0 To e.Item.Cells.Count - 1
e.Item.Cells(i).Attributes.Add("onclick", "alert('OK')") Next
式式
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex > 1 Then
Dim i As Int16
Dim myGrid As DataGrid = CType(sender, DataGrid) For i = 1 To e.Item.Cells.Count - 1 e.Item.Cells.Item(i).Attributes.Add("onclick", "document.location.href='week.aspx?week=" & (e.Item.ItemIndex - 1).ToString & "&colum=" & i.ToString & "&item=" & myGrid.Items.Item(0).Cells(i).Text.Trim & "'")
' e.Item.Cells.Item(i).Attributes.Add("onclick", "dataItem_Click()")
Next
End If
End Sub想试试更好的方法,不用重连到这页,有没有可以自定义事件之类的办法
<INPUT id="hiddenY"type="hidden" name="Hidden1" runat="server">
<INPUT type="hidden" runat="server" id="hiddenX" NAME="hiddenX">
第二步:加入脚本。
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
for (int i=0;i<e.Item.Cells.Count;i++)
{
TableCell tc = e.Item.Cells [i];
tc.Attributes.Add("onclick","document.all.hiddenX.value= this.parentElement.rowIndex;document.all.hiddenY.value= this.cellIndex;"+this.GetPostBackClientEvent (this,""));
}
}第三步:在page_load事件里。。
private void Page_Load(object sender, System.EventArgs e)
if (hiddenX.Value!="" && hiddenX.Value!="undefined")
{
Response.Write(hiddenY.Value );
Response.Write(hiddenX.Value );
hiddenY.Value="";
hiddenX.Value="";
}
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
e.Item.Cells[j].Attributes.Add("onclick", "javascript:__doPostBack(DataGrid1$_ctl" + Convert.ToInt32((e.Item.ItemIndex + 2)) + "$_ctl0','')");
} }