2012-08-01 99 views
0

我有一个通过代码生成列的网格视图,以及aspx中的ItemTemplate字段,如何清除代码生成的列而不清除模板字段?从我以前的帖子如何清除生成的列而不清除ItemTemplate字段

代码

TemplateField templateField = new TemplateField(); 
TemplateField uid = new TemplateField(); 
uid.HeaderText = "userid"; 
uid.ItemTemplate = new AddItemTemplate(ListItemType.Item, "userid"); 
GridView1.Columns.Add(uid); 
for (int i = 0; i < dt.Columns.Count; i++) 
{ 
    BoundField boundField = new BoundField(); 
    if (dt.Columns[i].ColumnName.ToString() != "userid") 
{ 
    boundField.DataField = dt.Columns[i].ColumnName.ToString(); 
    boundField.HeaderText = dt.Columns[i].ColumnName.ToString(); 
    GridView1.Columns.Add(boundField); 
} 
} 

ASPX

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <tr> 
        <td> 
         <div id="div<%# Eval("userid") %>" > 
          <asp:GridView ID="GridView2" AllowSorting="true" > 
           <Columns> 
            --code-- 
           </Columns> 
          </asp:GridView> 
         </div> 
        </td> 
       </tr> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
+0

列是否要删除/清除列或数据? – adatapost 2012-08-01 07:24:11

+0

实际上,我需要清除生成的列中的数据,但如果不可行,那么我需要将它们删除 – Noora 2012-08-01 07:35:07

+0

请向我们显示您的代码。 – adatapost 2012-08-01 07:40:12

回答

0

1)你可以尝试完全重新绑定到不同的数据源。它返回所有自定义字段&其他仅返回的Id

2)更简单的方法是只隐藏像YourGridView.Columns[0].Visible = false;