2013-04-05 37 views
0

这是我的第一篇文章。在字段中隐藏或删除整个GridView行中的特定文本

我有一个简单的ASP.NET查询字符串驱动的页面,GridView列出了特定文件夹的内容(基于查询字符串)。其中一些文件夹包含PDF,这意味着在我的Windows文件服务器上它创建一个thumbs.db文件(包含文件夹视图的缩略图图像),不幸的是这个文件在GridView中列出,它看起来非常难看,有没有什么办法可以改变我的GridView的代码来删除或隐藏包含Thumbs.db的行在Name柱。

后面的代码(VB.NET)(简称有很多文件夹)

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles  Me.Load 

    Dim Certs As New IO.DirectoryInfo("D:\PROCEDURES\Certs\") 

Dim q As String 
    q = Request.QueryString("type") 

If q = "Certs" Then 
     lbltype.Text = "Certs" 
     GridView1.DataSource = Certs.GetFiles() 
     GridView1.DataBind() 
End If 
End Sub 

ASPX代码

asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" 
    CssClass="GridStyle" ForeColor="#333333" GridLines="None" Width="100%"> 
    <Columns> 
     <asp:TemplateField HeaderText="Document Name" SortExpression="Name"> 
      <ItemTemplate> 
       <asp:HyperLink ID="HyperLink1" NavigateUrl='<%#"http://intranet.(hidden).com/sqe/data/" + Request.QueryString("type") + "/" + Eval("Name")%>' Target="_blank" runat="server"><%#Eval("Name")%></asp:HyperLink> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="Extension" HeaderText="Extension" SortExpression="Name" /> 
     <asp:BoundField DataField="Length" HeaderText="File Size" SortExpression="Name" /> 
     <asp:BoundField DataField="LastAccessTime" HeaderText="Last Modified" SortExpression="Name" /> 
    </Columns> 

提前许多感谢您的帮助。

回答

1

你可以做到这一点在Gridview_rowbound事件

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
    HyperLink hl = (HyperLink) e.row.FindControl("HyperLink1"); 
     if (hl.Text == "Thumb.db") 
     { 
     e.Row.Visible=false; 
     } 
    } 
} 

移植到VB会很容易吗?

+0

嗨,非常感谢。我将它转换为VB.NET。 它在开始时没有工作。但是,如果你看看我的超链接,我已将#EVAL放置在标签之间,我只是将#EVAL移动到超链接标签的文本属性,它工作:) 再次感谢! – Stoy 2013-04-05 12:13:13