LayoutTemplate を使用して列を定義し、OnLayoutCreated イベントを使用して特定の列を非表示にすることができます。
<asp:ListView ID="ListView1" class="lv" runat="server" DataSourceID="SqlDataSource1"
onprerender="ListView1_PreRender"
onselectedindexchanged="ListView1_SelectedIndexChanged"
style="text-align: left" OnLayoutCreated="OnLayoutCreated">
<LayoutTemplate>
<table id="itemPlaceholderContainer">
<tr>
<td><asp:Label id="columnToHide" runat="server" Text="Column 1" /></td>
</tr>
<tr id="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("name")></td>
</tr>
</ItemTemplate>
そして、コード ビハインドで:
protected void OnLayoutCreated(object sender, EventArgs e)
{
this.ListView1.FindControl("columnToHide").Visible = false;
}