![](/img/trans.png)
[英]Unable to set Width of Column in GridView ASP.NET (No DataSource for GridView)
[英]Can not set ASP.Net Gridview Template Column width to 0
在asp.net網格視圖中,我添加了一個TemplateColumn,我需要將其寬度設置為0,即使我在HTML代碼或代碼中設置它,當它在瀏覽器中顯示時它有一個寬度。 怎么解決這個?
HTML
<asp:TemplateField Visible="False" ControlStyle-Width="0">
<HeaderStyle BorderWidth="0" Width="0"></HeaderStyle>
<ItemStyle BorderWidth="0" Width="0"></ItemStyle>
<FooterStyle BorderWidth="0" Width="0"></FooterStyle>
<ItemTemplate>
<itemstyle width="0" />
<asp:PlaceHolder ID="ExpandedContent" Visible="false" runat="server"></td> </tr>
<tr>
<td class="label" colspan="2" align="left">
Test</asp:PlaceHolder>
</td> </tr>
</ItemTemplate>
<FooterStyle BorderWidth="0px" Width="0px" />
</asp:TemplateField>
輸出HTML
產量
將列中數據的字體大小設置為0,希望這有效..謝謝
<asp:BoundField DataField="CommID" Visible="true" ItemStyle-ForeColor="White"
HeaderText="" ItemStyle-Width="0px" ControlStyle-Width="0px" ItemStyle-Font-Size="0" >
以下解決方案為我工作 - 1.創建下面的CSS
<style>
.hidden { display: none;}
</style>
修改您的TemplateField,如下所示
<asp:TemplateField HeaderText =“”>
<HeaderStyle CssClass =“hidden”Width =“0px”/>
<ItemStyle CssClass =“hidden”Width =“0px”/>
<ItemTemplate> <asp:HiddenField ID =“IDVal”runat =“server”Value ='<%#Eval(“UserID”)%>'/>
</ ItemTemplate>
</ asp:TemplateField>
希望這可以幫助。 謝謝
我嘗試使用ItemStyle-Width="0px" ControlStyle-Width="0px"
但它顯示的是小列。 然后我嘗試使用Visible="false"
然后該列不可見,但問題是當我們嘗試在代碼中獲取單元格文本時,它顯示“”。
我的解決方案
設置GridView1.Columns(2).Visible = False
如果你想從那一列讀取數據
GridView1.Columns(2).Visible = True
If GridView1.Rows(1).Cells(2).Text ="abc" Then
'do somthing......
GridView1.Columns(2).Visible = False
我的建議是你使列不可見(設置Visible="false"
)並將你在該列上綁定的屬性定義為網格上的DataKeyNames之一; 這樣,你就可以隨時檢索它。
例如:
<asp:gridview DataKeyNames="PropertyYouNeed,ID,SomethingElse" ... />
然后,當您回發時,您可以從GridView.DataKeys屬性獲取數據
我發現TemplateColumn
HeaderText
自動設置為四個空格(自動生成),將HeaderText
設置為從UI固定問題的一個空格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.