为什么我的datagrid中的按钮不响应事件?

sweet12345 2003-08-21 11:07:20
我在datagrid中创建了一个摸板列,然后再摸板列中创建了一个asp:button空间,设置的代码如下:
<asp:DataGrid id="DataGrid1" runat="server" Width="625px" Height="275px" style="Z-INDEX: 103; LEFT: 18px; POSITION: absolute; TOP: 175px" AutoGenerateColumns="False" PageSize="5" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:BoundColumn DataField="CRY_Code" ReadOnly="True" HeaderText="CRY_Code"></asp:BoundColumn>
<asp:BoundColumn DataField="CRY_cName" ReadOnly="True" HeaderText="CRY_Name"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="取消">
<HeaderStyle HorizontalAlign="Left" Width="40px" CssClass="qHead" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:Button id="CancelButton" runat="server" Text="取消" CausesValidation="false" CommandName="Cancel" cssclass="button01"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
可是我在vb代码里面有一个相应函数,为什么执行的时候点了这个button 之后,却不能正确的条到这个执行函数里面呢?函数如下:
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
End Sub
郁闷那!
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yong427 2003-08-24
  • 打赏
  • 举报
回复
我已经解决了
是索引的问题,没有得到正确的索引
sweet12345 2003-08-22
  • 打赏
  • 举报
回复
是句柄问题吗?
sweet12345 2003-08-22
  • 打赏
  • 举报
回复
我现在又试验了一下,我把昨天摸板列里面的asp:button 改成asp:LinkButton就可以了,现在的情况也就是说,所有的datagrid的事件里面只接受LinkButton类型的东西发出的事件,对Button的事件却不响应,为什么?
sweet12345 2003-08-22
  • 打赏
  • 举报
回复
楼上的,你也有这个问题吗?呵呵,昨天我又试了一下!用那个datagrid的Columns属性,生成一个按钮列,如果选择的按钮类型是LinkButton就可以跳入我想要的执行函数,但是如果把按钮类型设置为PushButton就不行了。而且如果我用模板列,自己加入asp:button的话,也不行。不知道为什么,高手呀!快来呀!怎么没人可以给我一个满意的解答呢!
sgsh51 2003-08-21
  • 打赏
  • 举报
回复
private void InitializeComponent()
{
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);

}
只有在InitializeComponent()加上this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
这句话之后事件才能被触发
sweet12345 2003-08-21
  • 打赏
  • 举报
回复
急呀!为什么没有人回答!
sweet12345 2003-08-21
  • 打赏
  • 举报
回复
我最开始的执行函数是:
Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand

End Sub
因为无法跳入,才后来用到了DataGrid1_ItemCommand可还是不行,好像所有的空间都不想响应,但是分页却完全可以用。真是奇怪!
yong427 2003-08-21
  • 打赏
  • 举报
回复
上面几位说的方法我都试过了
好象都不行的
至于楼上的方法,明显是不同的方式
只想在DataGrid中绑定一列button按钮,然后响应对应的单击此类按钮的事件
我在等高手啊!!!!!!!!!
sgsh51 2003-08-21
  • 打赏
  • 举报
回复
必杀技两条:
1.<asp:Button id="CancelButton" runat="server" Text="取消" CausesValidation="false" CommandName="Cancel" cssclass="button01" onItemCommand=DataGrid1_ItemCommand></asp:Button>
我加入了onItemCommand=DataGrid1_ItemCommand这句话。
2.private void InitializeComponent()
{
}
中加入this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
这句话。现在我是用C#写的,改写成VB.Net就可以了
sweet12345 2003-08-21
  • 打赏
  • 举报
回复
楼上的,关键是这个按钮点了之后,不会条打执行函数里面,所以,你写在多的代码也是无用,我现在的问题就是如何作才能让我得点了之后响应事件,能够条到事件处理函数里面,为什么把button的 CommandName设置为“Cancel",但是点了之后却还是无法进入Private Sub DataGrid1_CancelCommand 里面。
chmodyou 2003-08-21
  • 打赏
  • 举报
回复
Dim cmdname As String
cmdname = e.CommandName
If cmdname = "CancelButton" Then
//想要执行的操作
endif
sweet12345 2003-08-21
  • 打赏
  • 举报
回复
我以前这么作就可以,只要在html里面设置了button的 CommandName就可以了,不知道这次为什么不行!郁闷!奇怪!
l9861115 2003-08-21
  • 打赏
  • 举报
回复
你可以在datagrid属性生成器中,设置按钮的名字如“button1”
当你点击它时引发事件可以在
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
End Sub
函数中控制
方式是
Dim cmdname As String
cmdname = e.CommandName
If cmdname = "button1" Then
所引起的事件
endif

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧