0
我有一個帶有模板字段的gridview。 gridview中的最後一行是可以是正數或string.empty(= null)的總計行。這個想法如下:當總計行= null時,我怎麼能隱藏gridview的一列? 效果應該是隻有具有值的列可見。因爲每次這是一個動態過程,輸入(即一年)可能不同。 一個模板領域的例子:GridView:如何隱藏模板字段列動態
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<asp:LinkButton ID="H3" runat="server" ToolTip="Milano-Sanremo" CommandName="Sort" CommandArgument="Milaan-San Remo DESC" Text="MSR" />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="R3" runat="server" ToolTip="Milano-Sanremo" Text='<%# Eval("Milaan-San Remo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
我試圖隱藏列在代碼隱藏的方式:
Dim TotalColumns As Integer
TotalColumns = GridView1.Rows(0).Cells.Count()
For i As Integer = 0 To TotalColumns - 1
If i > 4 Then
For Each row As TableRow In GridView1.Rows
If row.Cells(2).Text = "Nmbr of Riders" Then
Dim lid As String = DirectCast(row.FindControl("R3"), Label).Text
If lid = String.Empty Then
GridView1.Columns(i).Visible = True
Else
GridView1.Columns(i).Visible = False
End If
End If
Next
End If
Next
文本「騎士NMBR」表示彙總行。 R3對應於上面的模板字段。該代碼位於GridView的DataBound事件中。 我嘗試了許多其他解決方案,但似乎沒有任何幫助。它看起來像asp.net沒有在表格單元格中看到任何值,但也許我錯了。 任何幫助將不勝感激!