DataGrid一个奇怪的问题!

adoxcy 2008-11-06 11:12:29
在开始初始化打datagrid的时候,OnItemDataBound事件里,可以显示或隐藏相应的控件
protected void DataBind_Click(object sender, DataGridItemEventArgs e)
{
string state = e.Item.Cells[4].Text.Trim();
if (state.Equals("通过"))
{
e.Item.FindControl("lbtEdit").Visible = false;
e.Item.FindControl("lbtCancel").Visible = false;
e.Item.FindControl("lbtUpdate").Visible = false;
e.Item.FindControl("lbtDelete").Visible = false;
}
else if (state.Equals("待审核"))
{
e.Item.FindControl("lbtISCancel").Visible = false;
e.Item.FindControl("lbtCancel").Visible = false;
e.Item.FindControl("lbtUpdate").Visible = false;
}

}


但是当我点编辑按钮的时候又要对相应的按钮进行显示或隐藏,它就不行了呢,但编辑时间的e里照样有e.Item.FindControl这个方法
//编辑事件
protected void Edit_Click(object sender, DataGridCommandEventArgs e)
{

e.Item.FindControl("lbtEdit").Visible = false;

e.Item.FindControl("lbtCancel").Visible = true;
e.Item.FindControl("lbtUpdate").Visible = true;
e.Item.FindControl("lbtDelete").Visible = false;
dgOderList.EditItemIndex = e.Item.ItemIndex;
GetOderList();
}

这些控件都在模板里啊
...全文
96 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
自己搞定了,还是多想了下!唉
liye9801 2008-11-06
  • 打赏
  • 举报
回复
MARK 关注一下...
hanqingyu 2008-11-06
  • 打赏
  • 举报
回复
up
takako_mu 2008-11-06
  • 打赏
  • 举报
回复
那就在編輯后再綁定一次。
gengwanshanreally 2008-11-06
  • 打赏
  • 举报
回复
支持一下
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 w161134025 的回复:]
在编辑事件里执行
string state = e.Item.Cells[4].Text.Trim();
if (state.Equals("通过"))
{
e.Item.FindControl("lbtEdit").Visible = false;
e.Item.FindControl("lbtCancel").Visible = false;
e.Item.FindControl("lbtUpdate").Visible = false;
e.Item.FindControl("lbtDelete").Visible = false;
}
else if (state.…
[/Quote]
像这样了,还是没有用啊
w87162960 2008-11-06
  • 打赏
  • 举报
回复
學習
nealwike 2008-11-06
  • 打赏
  • 举报
回复
我认为编辑了还应该datagrid.bind()才行.
w161134025 2008-11-06
  • 打赏
  • 举报
回复
在编辑事件里执行
string state = e.Item.Cells[4].Text.Trim();
if (state.Equals("通过"))
{
e.Item.FindControl("lbtEdit").Visible = false;
e.Item.FindControl("lbtCancel").Visible = false;
e.Item.FindControl("lbtUpdate").Visible = false;
e.Item.FindControl("lbtDelete").Visible = false;
}
else if (state.Equals("待审核"))
{
e.Item.FindControl("lbtISCancel").Visible = false;
e.Item.FindControl("lbtCancel").Visible = false;
e.Item.FindControl("lbtUpdate").Visible = false;
}
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
怎样启用啊
好像控件和datagrid都没有AutoPostBack
firev000 2008-11-06
  • 打赏
  • 举报
回复
点编辑按钮以后 ,页面回发,所以就又显示出来了
nihaobulo 2008-11-06
  • 打赏
  • 举报
回复
学习
jiang_jiajia10 2008-11-06
  • 打赏
  • 举报
回复
AutoPostBack
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
那要怎样启用啊,是不是直接在datagrid中去启用,那我以后的取消事件也要做同样的操作,是不是都只要在datagrid中启用
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
???
lihongdian 2008-11-06
  • 打赏
  • 举报
回复
因为编辑的时候没有启用AutoPostBack.
adoxcy 2008-11-06
  • 打赏
  • 举报
回复
这么多分都没人回答吗?
alanzhou 2008-11-06
  • 打赏
  • 举报
回复
所以要在OnItemDataBound 中判断dgOderList是否edit状态

alanzhou 2008-11-06
  • 打赏
  • 举报
回复
GetOderList();
时会执行OnItemDataBound

所以又被置回去了

62,074

社区成员

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

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

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

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