none
请问如何在gridview绑定数据时,根据条件取消某行数据的绑定? RRS feed

  • 问题

  •  比如在如下例子中,如果一条数据中MessageType == 0 的时候,就取消其在gridview中的绑定,实现和没有这条数据一样的效果,不是简单的e.Row.visible = false这样只是取消显示.麻烦大家指点

    protected void gvShowOutMessages_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (Convert.ToInt32(((System.Data.DataRowView)(e.Row.DataItem)).Row["MessageType"]) == 0 )
                {
                    return;
                }
            }
    
        }
    2009年4月25日 16:29

答案

全部回复

  • 取消绑定是没有办法的,只能取消在客户端的呈现
    【孟子E章】
    • 已标记为答案 rewalax 2009年4月26日 4:04
    2009年4月26日 1:37
    版主
  • 您好,如果取消在客户端的呈现,在没有数据显示时,EmptyTemplate不会显示预定内容,而一般的没有数据EmptyTemplate是会正常显示的. 如果不能取消绑定只能取消在客户端的显示,那如果解决这个问题呢,谢谢孟老师

    2009年4月26日 3:14
  • 你好,即然你的目的这么明确,为什么在读取数据的 SQL 中加上 " WHERE MessageType <> 0 " 呢,这样不是很方便吗?

    知识改变命运,奋斗成就人生!
    • 已标记为答案 rewalax 2009年4月26日 4:04
    2009年4月26日 3:34
    版主
  • 呃.. 对哈 钻到死胡同里了.. 哈哈 谢谢X.X.Y指点哈,要我自己想不知道啥时候才能钻出来...

    2009年4月26日 4:04