当我按下查询按钮显示出数据后激发这个事件(让鼠标变色,且双击任何一行就转移到一个新页面)
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.EditItem || e.Item.ItemType==ListItemType.SelectedItem || e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='E9ECF2'");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");
e.Item.Attributes["ondblclick"] = "navigate('updatawage.aspx')";//双击datagrid中任何一行转移到该新的页面。
}
}点我点击任何一行信息后激发该事件:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
string a1 =""; for(int i=0;i<this.DataGrid1.Items.Count;i++)
{
a1 =this.DataGrid1.Items[i].Cells[1].Text;
Session["ygid"]=a1;
}
}
(在新页面中我确实能接收到session值(也就是cell[1]的值)。。问题在于,当我按下查询按钮后,我的datagrid中显示出来的信息如果有二条以上的话,比如有三条信息1,2,3(ygid为001,002,003),无论我点击1这一行,还是点击2这一行,或者点击3这一行,那么在新页面中的session值始终是第3这一行的ygid值。
那位大虾能帮我改一下上面的代码,怎么才能实现我点击那一行,那么取出的ygid就是被点击那一行的ygid。谢谢!~
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.EditItem || e.Item.ItemType==ListItemType.SelectedItem || e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='E9ECF2'");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");
e.Item.Attributes["ondblclick"] = "navigate('updatawage.aspx')";//双击datagrid中任何一行转移到该新的页面。
}
}点我点击任何一行信息后激发该事件:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
string a1 =""; for(int i=0;i<this.DataGrid1.Items.Count;i++)
{
a1 =this.DataGrid1.Items[i].Cells[1].Text;
Session["ygid"]=a1;
}
}
(在新页面中我确实能接收到session值(也就是cell[1]的值)。。问题在于,当我按下查询按钮后,我的datagrid中显示出来的信息如果有二条以上的话,比如有三条信息1,2,3(ygid为001,002,003),无论我点击1这一行,还是点击2这一行,或者点击3这一行,那么在新页面中的session值始终是第3这一行的ygid值。
那位大虾能帮我改一下上面的代码,怎么才能实现我点击那一行,那么取出的ygid就是被点击那一行的ygid。谢谢!~
解决方案 »
- ""的类型初始值设定项引发异常。搞不懂错在哪了。。
- 在应用程序级别之外使用注册为allowdefinition=machinetoapplication节是错误.如果在IIS没有将虚拟目录配置为应用程序, 则可能导致此错误
- 弹出警告框后页面样式改变问题
- 关于datagrid的颜色显示问题
- 导出EXCEL问题!!!!!
- 关于datetime为null的时候报错
- 但在 ASP.NET 中,程式必須寫在 <script runat=server>…</script> 區段中
- 强烈求救:无法运行
- 用XML数据传递如pro.aspx?id=3&name=sss会出错??
- 请教各位大虾:DropDownList控件 中的 OnSelectedIndexChanged 怎样实现?
- 关于datagrid的小问题,恳请大虾进来看看!!~
- 百分问几个基础小问题!?希望有高手能给予正确的解答
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>=0)
{
e.Item.Attributes.Add("OnClick",Page.GetPostBackClientEvent(e.Item.Cells[0].Controls[0],String.Empty));
}
} 之后在
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
string a1 =e.Item.Cells[1].Text;
Session["ygid"]=a1;
}
//循环对表格行做脚本,点击弹出新窗口
int i=0;
int mycount = DataGrid1.Items.Count;
string ygid = "";
for(i=0;i<mycount;i++)
{
ygid = DataGrid1.DataKeys[i].ToString();
DataGrid1.Items[i].Attributes.Add("onclick","window.open('updatawage.aspx?ygid=" + ygid + "','','');");
}