读书人

GridView的ItemDataBound中如何删除掉

发布时间: 2012-03-15 11:50:39 作者: rapoo

GridView的ItemDataBound中怎么删除掉不符合记录的行?
GridView的ItemDataBound中怎么删除掉不符合记录的行?

由于在某个框架下,绑定数据源的时候设计到的SQL比较麻烦,或者说比较难实现
因此,我考虑先将查询出的结果绑定到数据源上,然后通过ItemDataBound事件里,将不符合条件的记录删除掉,请问这个该怎么删除?

[解决办法]
e.Row.Visible=false;
[解决办法]
定义一个变量把 符合的东西放在里面。反正用个明显的东西。 然后循环取出的数据。与变量对比。过滤后绑定。这样试试。 说的不知道对不对。如有不对。请见谅
[解决办法]
这是一个完整的例子,Title字段中含 “的”的都不显示


HTML code
<%@ Page Language="C#"  %><%@ Import Namespace="System.Xml" %><%@ Import Namespace="System.IO" %><%@ Import Namespace="System.Data.OleDb" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Net" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    protected void Page_Load(object sender, EventArgs e)  {    String ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MengXianhui.mdb;";    OleDbConnection cn = new OleDbConnection(ConnectionString);    cn.Open();    OleDbCommand cmd = new OleDbCommand("Select Title From [Document]", cn);    GridView1.DataSource = cmd.ExecuteReader();    GridView1.DataBind();    cn.Close();  }  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  {    if (e.Row.RowType == DataControlRowType.DataRow)    {      if (DataBinder.Eval(e.Row.DataItem, "Title").ToString().IndexOf("的") > -1)      {        e.Row.Visible = false;      }    }  }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"></head><body>  <form id="form1" runat="server">  <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">  </asp:GridView>  </form></body></html>
[解决办法]
e.Row.Visible = false;
貌似可以的
[解决办法]
探讨
这是一个完整的例子,Title字段中含 “的”的都不显示



HTML code
<%@ Page Language="C#" %>

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@……

读书人网 >.NET

热点推荐