排除某些行中的列-SQL/Asp.Net

排除某些行中的列-SQL/Asp.Net,sql,asp.net,vb.net,Sql,Asp.net,Vb.net,我想更改一些为我编写的代码。我想省略显示tblResults.videoLink=''的超链接 该超链接在表中显示为“视频链接”,因此人们可以单击它。我只希望文字/超链接“视频链接”出现在人们输入的行中 代码是Microsoft SQL,但写在ASPX文件中。后端是VB,但有一个VB几乎是空的。。ASPX文件处理一切 <h1>Recent Results</h1> <asp:Panel ID="pnlMyWishes" runat="server"&

我想更改一些为我编写的代码。我想省略显示tblResults.videoLink=''的超链接

该超链接在表中显示为“视频链接”,因此人们可以单击它。我只希望文字/超链接“视频链接”出现在人们输入的行中

代码是Microsoft SQL,但写在ASPX文件中。后端是VB,但有一个VB几乎是空的。。ASPX文件处理一切

    <h1>Recent Results</h1>
    <asp:Panel ID="pnlMyWishes" runat="server">

        <asp:SqlDataSource ID="DSWishes" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" SelectCommand="SELECT     TOP (100) PERCENT tblResults.wishID, tblResults.Player1AccountID, tblResults.Player2AccountID, tblResults.Player1Result, tblResults.Player2Result, tblResults.venue, tblResults.potSize, tblResults.player1Name, tblResults.player2Name, tblResults.videoLink, tblResults.date FROM tblResults ORDER BY tblResults.date DESC">
        </asp:SqlDataSource>
        <asp:GridView ID="gdvWishes" width="100%" runat="server" AllowPaging="True" AutoGenerateColumns="False" CssClass="mGrid" DataKeyNames="wishID" DataSourceID="DSWishes" PageSize="20" AllowSorting="True">
            <AlternatingRowStyle CssClass="alt" />
            <Columns>

                <asp:BoundField DataField="player1Name" HeaderText="Player 1" />      
                <asp:TemplateField HeaderText="Result">
                    <ItemTemplate>
                        <asp:Label ID="lblP1" Text='<%# Eval("player1Result").ToString %>' runat="server" Visible="true">
                        </asp:Label><asp:Label ID="lblVs" Text=" - " runat="server" Visible="true"></asp:Label>
                        <asp:Label ID="lblP2" Text='<%# Eval("player2Result").ToString %>' runat="server" Visible="true"></asp:Label>
                    </ItemTemplate>
                    <ItemStyle Width="17%" />
                </asp:TemplateField>
                <asp:BoundField DataField="player2Name" HeaderText="Player 2" />

                <asp:BoundField DataField="potSize" HeaderText="Pot" />
                <asp:BoundField DataField="venue" HeaderText="Venue" />
                <asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:HyperLink ID="hypVideoLink" runat="server" NavigateUrl='<%# Eval("videoLink").ToString %>'>Video Link</asp:HyperLink>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </asp:Panel>
最近的结果
视频链接

创建一个子集,如下图所示,在用数据填充
网格视图的代码后调用它

Private Sub HideBlankURLs()
    For Each r As GridViewRow in gdvWishes.Rows
        If r.RowType = DataControlRowType.DataRow Then //Execute the code only for datarow, excluding footer and header
            Dim hypURL As HyperLink
            hypURL = r.Cells(5).FindControl("hypVideoLink") //Goes to the column of VideoURL, index 5 is counting from 0 to 5
            If hypURL.NavigateURL = "" Then //Checks if the URL is blank, if it is then hide the hyperlink control
                hypURL.Visible = False
            End If
        End If
    Next r
End Sub
这将遍历所有行并查找该列中的控件,检查导航URL是否为空,然后隐藏该控件


注意:将(//)替换为单引号('),因为SO将其读取为包含字符的文本,而不是注释。

您绝对是一个超级明星。。非常好,谢谢。你可以在这里看到。。