gridview的列问题

zhangrenying 2010-01-08 10:34:10
我要在gridview中的模板列中加入一个退房的button,条件是如果已经退房了,就不在gridview上面显示,如果没有退房的话,就在上面显示。
请问怎么实现这个功能啊?
...全文
133 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mngzilin 2010-01-08
  • 打赏
  • 举报
回复
GridView1.DataSource=dt;
GridView1.DataBind();
//后面加上
for(int i=0;i<GridView1.Rows.Count;i++)
{
Button tn=(Button)GridView1.Rows[i].FindControl("退房按钮ID");
if(dt.Rows[i]["退房列"].ToString()=="退房")
{
tn.Visible=false;
}
}
zhangrenying 2010-01-08
  • 打赏
  • 举报
回复
错误 1 “System.Web.UI.WebControls.GridViewUpdatedEventArgs”不包含“Row”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.GridViewUpdatedEventArgs”的第一个参数的扩展方法“Row”(是否缺少 using 指令或程序集引用?) F:\MyFunCode\RoomList\RoomList\Index.aspx.cs 130 19 RoomList
puzhichen 2010-01-08
  • 打赏
  • 举报
回复
?:
Donniezhu 2010-01-08
  • 打赏
  • 举报
回复
三楼些的不错这个应该可以满足你的要求了
zhangrenying 2010-01-08
  • 打赏
  • 举报
回复
怎么我点e.Row的时候说不包含row的定义啊?
dd__dd 2010-01-08
  • 打赏
  • 举报
回复
就是3楼这个意思
zhujiazhi 2010-01-08
  • 打赏
  • 举报
回复
在邦定数据的时候进行判断
void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
if(e.Row.RowType == DataControlRowType.DataRow)
{
Button btn = e.Row.FindControl("buttonid") as Button;
if("已经退房")
{
btn.Visible = false;
}
}
}
_老吴 2010-01-08
  • 打赏
  • 举报
回复
在gridview的中加个button,在databinging中判断是否退房,如果退了button的visible为false,反之为true
liu_angelkismet 2010-01-08
  • 打赏
  • 举报
回复
绑定数据时判断,如果没有退房,加上按钮,反之则不加。在你点击按钮后重新绑定就可以了。
yangxun527686 2010-01-08
  • 打赏
  • 举报
回复
楼上写的正确了~~
aellonxie 2010-01-08
  • 打赏
  • 举报
回复
前台gridview中加:
<asp:TemplateField HeaderText="删除">
</asp:TemplateField>
后台:

protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label lbl_Del = new Label();
//e.Row.Cells[7].Text添加你需要的那个状态,然后在
/* protected void myGridView_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[7].Visible = false;
}
*/
不显示,但是可以每次读取数据库的状态,然后加载下面的代码
if (e.Row.Cells[7].Text == "1")
{
lbl_Del.Text = “<input type='Button' text='btn' >";
e.Row.Cells[n].Controls.Add(lbl_Del);

}
不显示,但是可以每次读取数据库的状态,然后加载下面的代码
if (e.Row.Cells[7].Text == "0")
{
lbl_Del.Text = “<input type='XXXX' text='btn' >";
e.Row.Cells[n].Controls.Add(lbl_Del);

}




}


看懂没?
chongyb 2010-01-08
  • 打赏
  • 举报
回复
Button btn = (Label)gr.FindControl("buttonID");
改为:
Button btn = (Button)gr.FindControl("buttonID");
chongyb 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhangrenying 的回复:]
怎么我点e.Row的时候说不包含row的定义啊?
[/Quote]

GridViewRow gr = this.GridView1.Rows[GridView1.SelectedRow.RowIndex];
Button btn = (Label)gr.FindControl("buttonID");

这样就可以得到Button控件了
ycproc 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuzhengqing1 的回复:]
在gridview的中加个button,在databinging中判断是否退房,如果退了button的visible为false,反之为true
[/Quote]


就是这些原理

62,254

社区成员

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

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

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

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