在DataGrid中加入模板列,在模板列添加一个ImageButton,怎样才能触发它的Click事件,
使该行可以编辑啊?
使该行可以编辑啊?
解决方案 »
- asp.net 问题 和具体技术无关 和编程方式有关
- how postsharp pass two parameters without method parameter?
- Request.QueryString["i"] == "" ? "0" : Request.QueryString["i"]这是什么意思呀
- asp.net 动态输入
- 在线等:GridView没有“Enable Deleting"选项的问题。
- 为什么不能马上显示出来
- 请大家帮我详细的解释一下下边的代码好吗?
- 开发了一个全自动实时传真收发软件,现完全免费对外发布,欢迎大家批评指正!(含代码及完整使用说明),值此新年来临之际,特备薄礼,望大家笑纳!
- Discuz!NT论坛发贴时提示“帖子保存出现异常 ”请高手帮忙
- 模拟登录
- 如何为日历控件添加记事功能 谢谢了
- dot Net 2005 环境下的 Global.asax 和 Application_Start 问题。
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=../../images/save.gif border=0 alt='保存'/>"
CancelText="<img src=../../images/cancel.gif border=0 alt='取消'/>" EditText="<img src=../../images/edit.gif border=0 alt='编辑'/>"></asp:EditCommandColumn>
ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
ibtn.Attributes.Add("onclick","...")
ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
ibtn.Attributes.Add("onclick","...")
新手啊
使该行可以编辑啊?首先你的按钮的 commandname得设置为edit(这个是最简单的方法),然后在datagrid的editcommand来处理该按钮的单击事件!!!
3楼的则是盲从看都没仔细看就说正确,5楼的则是完全说错了如果你要用1。2楼的方法是要添加一个编辑更新列的!!!
并且后面的onclick是要调用__dopostback方法
你可以看看lovecherry是如何弄的
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","__doPostBack('"+((LinkButton)e.Item.Cells[4].Controls[0]).ClientID.Replace("__","$_")+"','')");
}
if(e.Item.ItemType==ListItemType.EditItem)
{
e.Item.Attributes.Add("ondblclick","__doPostBack('"+((LinkButton)e.Item.Cells[5].Controls[0]).ClientID.Replace("__","$_")+"','')");
for(int i=0;i<4;i++)((TextBox)e.Item.Cells[i].Controls[0]).Attributes.Add("onmouseover","this.select()");
}
}from :http://www.cnblogs.com/lovecherry/archive/2005/05/15/155831.html
private void grdwenben_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
ibtn .Click += new System.Web.UI.ImageClickEventHandler(ibtn_Click);
}
}
然后在外加一个事件处理的
private void ibtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
}
在里面写处理就应该OK拉
3楼的则是盲从看都没仔细看就说正确,5楼的则是完全说错了-----------------------如果仅仅是在DataGrid里面实现编辑修改,那么第一个方法就足够了,不是么?
{
if(e.CommandName=="edit")
{
this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
SetBind();
}我用这个方法可以实现,但还是有问题啊!在分页的时候点击第二页就出错了啊!!