17 个解决方案
#1
DataGrid控件没有这个SelectedIndexChanged事件吧.
再说有的话,也应是服务器上执行的事件,不会实时发生.
再说有的话,也应是服务器上执行的事件,不会实时发生.
#2
GridView倒是有GridView.SelectedIndexChanged 事件
不过它是发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。
不过它是发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。
#3
DataGrid怎么可能没有SelectedIndexChanged事件呢!!???请打开VS自己试试看,我想只要做过.net的人都知道.请精通.net的大虾帮忙,不甚感激.
#4
怎么我这里的DataGrid没有SelectedIndexChanged这个事件呢?我用的VS2005
#5
无论是Asp.NET还是WinForm都没有这个SelectedIndexChanged事件啊...
#6
VS2003
#7
Private Sub dg_main_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dg_main.SelectedIndexChanged
的确是有,webform下
的确是有,webform下
#8
没听过!
#9
DataList的SelectedIndexChanged到是用的比较多...
MSDN如是说:
DataGrid的SelectedIndexChanged在两次服务器发送之间,在数据列表控件中选择了不同的项时发生。(从 BaseDataList 继承。)
MSDN如是说:
DataGrid的SelectedIndexChanged在两次服务器发送之间,在数据列表控件中选择了不同的项时发生。(从 BaseDataList 继承。)
#10
http://www.nidewang.com/dedecmsv3_0_1/html/wangzhanjishu/2006/1111/503.html
看看这个,说实话,真没用到过,他里面的例子用itemcommand也可以实现
看看这个,说实话,真没用到过,他里面的例子用itemcommand也可以实现
#11
可以对DataGrid 每一行进行JS 绑定,点了一行,触发JS,接下来看你自己咯。
#12
你添加一选择按钮列即可
#13
大致是,首先写一个.cs文件:
public delegate void myDataGridDblClickedHandler(int rowIndex);
public class myDataGrid : DataGrid,IPostBackEventHandler
{
public event myDataGridDblClickedHandler DblClicked;
protected override void OnPreRender(EventArgs e)
{
if (DblClicked != null)
foreach (DataGridItem item in this.Items)
item.Attributes["dblclick"] = this.Page.ClientScript.GetPostBackEventReference(
this, "dblclick:" + item.ItemIndex.ToString());
base.OnPreRender(e);
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument.StartsWith("dblclick:") && DblClicked !=null)
DblClicked(int.Parse(eventArgument.Substring(9)));
}
}
然后不要使用asp.net的DataGrid,使用你自己的。
public delegate void myDataGridDblClickedHandler(int rowIndex);
public class myDataGrid : DataGrid,IPostBackEventHandler
{
public event myDataGridDblClickedHandler DblClicked;
protected override void OnPreRender(EventArgs e)
{
if (DblClicked != null)
foreach (DataGridItem item in this.Items)
item.Attributes["dblclick"] = this.Page.ClientScript.GetPostBackEventReference(
this, "dblclick:" + item.ItemIndex.ToString());
base.OnPreRender(e);
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument.StartsWith("dblclick:") && DblClicked !=null)
DblClicked(int.Parse(eventArgument.Substring(9)));
}
}
然后不要使用asp.net的DataGrid,使用你自己的。
#14
谢谢,加一选择按钮是可以了,如果想我直接点击DataGrid上面的每一行能触发这个事件,如何做呢?
#15
这个自己的 myDataGrid 控件比asp.net的DataGrid多出来一个 DblClicked 事件,跟你问题中的思路很像。
其实很多时候,你不应该在用的时候才想到去如何凑一个程序,而是多多考虑如何把工具箱中的东西直接变成更顺手的。
其实很多时候,你不应该在用的时候才想到去如何凑一个程序,而是多多考虑如何把工具箱中的东西直接变成更顺手的。
#16
用datalist
#17
用myDataGrid 控件显示数据列表,能获取每行的数据ID吗?我采用onclick事件单击某行怎么获取每行的iD
#1
DataGrid控件没有这个SelectedIndexChanged事件吧.
再说有的话,也应是服务器上执行的事件,不会实时发生.
再说有的话,也应是服务器上执行的事件,不会实时发生.
#2
GridView倒是有GridView.SelectedIndexChanged 事件
不过它是发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。
不过它是发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。
#3
DataGrid怎么可能没有SelectedIndexChanged事件呢!!???请打开VS自己试试看,我想只要做过.net的人都知道.请精通.net的大虾帮忙,不甚感激.
#4
怎么我这里的DataGrid没有SelectedIndexChanged这个事件呢?我用的VS2005
#5
无论是Asp.NET还是WinForm都没有这个SelectedIndexChanged事件啊...
#6
VS2003
#7
Private Sub dg_main_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dg_main.SelectedIndexChanged
的确是有,webform下
的确是有,webform下
#8
没听过!
#9
DataList的SelectedIndexChanged到是用的比较多...
MSDN如是说:
DataGrid的SelectedIndexChanged在两次服务器发送之间,在数据列表控件中选择了不同的项时发生。(从 BaseDataList 继承。)
MSDN如是说:
DataGrid的SelectedIndexChanged在两次服务器发送之间,在数据列表控件中选择了不同的项时发生。(从 BaseDataList 继承。)
#10
http://www.nidewang.com/dedecmsv3_0_1/html/wangzhanjishu/2006/1111/503.html
看看这个,说实话,真没用到过,他里面的例子用itemcommand也可以实现
看看这个,说实话,真没用到过,他里面的例子用itemcommand也可以实现
#11
可以对DataGrid 每一行进行JS 绑定,点了一行,触发JS,接下来看你自己咯。
#12
你添加一选择按钮列即可
#13
大致是,首先写一个.cs文件:
public delegate void myDataGridDblClickedHandler(int rowIndex);
public class myDataGrid : DataGrid,IPostBackEventHandler
{
public event myDataGridDblClickedHandler DblClicked;
protected override void OnPreRender(EventArgs e)
{
if (DblClicked != null)
foreach (DataGridItem item in this.Items)
item.Attributes["dblclick"] = this.Page.ClientScript.GetPostBackEventReference(
this, "dblclick:" + item.ItemIndex.ToString());
base.OnPreRender(e);
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument.StartsWith("dblclick:") && DblClicked !=null)
DblClicked(int.Parse(eventArgument.Substring(9)));
}
}
然后不要使用asp.net的DataGrid,使用你自己的。
public delegate void myDataGridDblClickedHandler(int rowIndex);
public class myDataGrid : DataGrid,IPostBackEventHandler
{
public event myDataGridDblClickedHandler DblClicked;
protected override void OnPreRender(EventArgs e)
{
if (DblClicked != null)
foreach (DataGridItem item in this.Items)
item.Attributes["dblclick"] = this.Page.ClientScript.GetPostBackEventReference(
this, "dblclick:" + item.ItemIndex.ToString());
base.OnPreRender(e);
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument.StartsWith("dblclick:") && DblClicked !=null)
DblClicked(int.Parse(eventArgument.Substring(9)));
}
}
然后不要使用asp.net的DataGrid,使用你自己的。
#14
谢谢,加一选择按钮是可以了,如果想我直接点击DataGrid上面的每一行能触发这个事件,如何做呢?
#15
这个自己的 myDataGrid 控件比asp.net的DataGrid多出来一个 DblClicked 事件,跟你问题中的思路很像。
其实很多时候,你不应该在用的时候才想到去如何凑一个程序,而是多多考虑如何把工具箱中的东西直接变成更顺手的。
其实很多时候,你不应该在用的时候才想到去如何凑一个程序,而是多多考虑如何把工具箱中的东西直接变成更顺手的。
#16
用datalist
#17
用myDataGrid 控件显示数据列表,能获取每行的数据ID吗?我采用onclick事件单击某行怎么获取每行的iD