请问datagrid模板列中的按钮如何编写事件阿?

udonome 2003-06-23 04:27:55
我在datagrid的模板列中加了一个imagebutton,我想写它的单击事件,请问该如何操作?
...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
udonome 2003-06-24
  • 打赏
  • 举报
回复
我知道用button为什么就不能触发DataGrid.ItemCommand 事件了,因为我在page_load中把datagrid梆定了,加上if(!Page.IsPostBack)就好了。奇怪系统提供的linkbutton为什么就不出错,谢谢大家了!
3no 2003-06-24
  • 打赏
  • 举报
回复
<asp:datagrid id="MyDataGrid" ... OnSortCommand="Sort_Grid" OnDeleteCommand="MyDataGrid_Delete" OnUpdateCommand="MyDataGrid_Update" OnCancelCommand="MyDataGrid_Cancel" OnEditCommand="MyDataGrid_Edit" AutoGenerateColumns="False" HorizontalAlign="Left" Width="584px">
然后在<Columns></Columns>中间加上下面这句
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
我用的很好,要不我给你把代码发过来
信箱
udonome 2003-06-24
  • 打赏
  • 举报
回复
我试过只有linkbutton才会触发DataGrid.ItemCommand事件,button和imagebutton都不能触发DataGrid.ItemCommands事件,不知大家用过没有?
cleo 2003-06-24
  • 打赏
  • 举报
回复
取得DataGrid.ItemCommand 事件就可以了。这是最可靠的方法。
void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
{

switch(((LinkButton)e.CommandSource).CommandName)
{

case "Delete":
DeleteItem(e);
break;

// Add other cases here, if there are multiple ButtonColumns in
// the DataGrid control.

default:
// Do nothing.
break;

}

}
udonome 2003-06-24
  • 打赏
  • 举报
回复
用wacle(落第秀才)的方法确实可以捕获事件,但是无法知道触发事件的imagebutton是在datagrid中那一行,即不知道System.Web.UI.WebControls.DataGridItemEventArgs e啊,这样就无法完成我想要的操作了,请问这个e如何获得呢?
comy 2003-06-23
  • 打赏
  • 举报
回复
//添加imagebutton以后接着
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);

private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//.......
}
wacle 2003-06-23
  • 打赏
  • 举报
回复
private void dgrdInvItem_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||
e.Item.ItemType==ListItemType.AlternatingItem)
{
Button _btn=(Button)e.Item.FindControl("button_dgrd");
_btn.Click+=new System.EventHandler(this._btn_Click);
}
}//在DataGrid的ItemCreated事件中创建事件委托

private void _btn_Click(object sender,System.EnventArgs e)
{
......
}//自定义Click事件
cutesun 2003-06-23
  • 打赏
  • 举报
回复
我一般直接把事件写到包含按钮的单元格中 效果“基本”一样
呵呵
代码如下
Sub DG_ItemCreated(ByVal obj As Object, ByVal e As DataGridItemEventArgs)
If Not Page.IsPostBack Then
Dim intIndex As Integer = e.Item.ItemIndex
Dim myDeleteButton As TableCell
myDeleteButton = e.Item.Cells(9)
myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除这个纪录么? 如果 [确定] 将删除这个纪录的所有信息!');")
End If
End Sub
--------------------
datagrid 加上OnItemCreated="DG_ItemCreated" 比如
<asp:datagrid id="DG" runat="server" AutoGenerateColumns="False" ShowFooter="True" OnItemCreated="DG_ItemCreated" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" Width="90%" HorizontalAlign="Center">
1. 打开新的窗口并传送参数: 2.为按钮添加对话框 3.删除表格选定记录 4.删除表格记录警告 5.点击表格行链接另一页 6.表格超连接列传递参数 7.表格点击改变颜色 8.关于日期格式 9.获取错误信息并到指定页面 10.清空Cookie 11.自定义异常处理 12.Panel 横向滚动,纵向自动扩展 13.回车转换成Tab 14.DataGrid超级连接列 15.DataGrid行随鼠标变色 16.模板列 17.数字格式化 18.日期格式化 19.如何设定全局变量 20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口? 21.读取DataGrid控件TextBox值 23.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能? 24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。 25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ? 26.对话框 27. 将时间格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日"); 28.自定义分页代码: 29.DataGrid使用: 30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化) 31. 变量.ToString() 32、变量.Substring(参数1,参数2); 33.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息)

62,046

社区成员

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

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

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

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