C# 无法将ASP.Net Gridview模板列宽设置为0

C# 无法将ASP.Net Gridview模板列宽设置为0,c#,asp.net,visual-studio,gridview,C#,Asp.net,Visual Studio,Gridview,在asp.net网格视图中,我添加了一个TemplateColumn,我需要将其宽度设置为0,即使我在HTML代码或代码隐藏中设置它,当它在浏览器中显示时,它也有一个宽度。如何解决这个问题 HTML 试验 输出HTML 输出 我的建议是使列不可见(setVisible=“false”),并将绑定到该列的属性定义为网格上的DataKeyName之一;这样,您就可以随时检索它 例如: <asp:gridview DataKeyNames="PropertyYouNeed,ID,Somet

在asp.net网格视图中,我添加了一个TemplateColumn,我需要将其宽度设置为0,即使我在HTML代码或代码隐藏中设置它,当它在浏览器中显示时,它也有一个宽度。如何解决这个问题

HTML


试验
输出HTML

输出


我的建议是使列不可见(set
Visible=“false”
),并将绑定到该列的属性定义为网格上的DataKeyName之一;这样,您就可以随时检索它

例如:

<asp:gridview DataKeyNames="PropertyYouNeed,ID,SomethingElse" ... />

我发现
TemplateColumn
HeaderText
自动设置为四个空格(自动生成),将
HeaderText
从UI设置为一个空格修复了问题


将列中数据的字体大小设置为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>

.hidden{显示:无;}
  • 修改模板字段,如下所示







  • 希望这有帮助。谢谢

    我试过使用
    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
    

    y don you make it visible=false…….有什么原因吗?@Pranay是的,不能将其visibility设置为false,因为我正在做一些棘手的事情(根据本教程)。需要将其宽度设置为0,但其内容显示在gridview的其他位置。
     GridView1.Columns(2).Visible = True
    
     If GridView1.Rows(1).Cells(2).Text ="abc" Then
            'do somthing......
    
     GridView1.Columns(2).Visible = False