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;
貌似可以的
[解决办法]