我有一个datagridview名称是“grdShowDeatils”,一个名为“objShowCampaignStats”的类,其方法返回一个DataTable名称的方法是“GetCapmaignsStatsDetails()”
{
grdShowDeatils.DataSource = AnyDataTable;
}
我的问题是dataTable
有三列,我想在运行时隐藏第二列,它不应该对用户可见。我怎么能这样做?
答案 0 :(得分:3)
使用此
{
grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
grdShowDeatils.Columns[1].Visible = false;
}
答案 1 :(得分:2)
您可以编写以下代码
{
grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
grdShowDeatils.Columns[3].Visible = false;
}
或
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false;
}
答案 2 :(得分:0)
假设您的DataTable返回三列以下,
姓名,地址,电话号码您想要隐藏地址栏
在.aspx
页面,您可以按照以下方式绑定DataGridView,
<asp:DataGridView ID ="grdShowDeatils" runat="server">
<Columns>
<asp:BoundColumn HeaderText="Name" DataFeild="Name"/>
<asp:BoundColumn HeaderText="Address" DataFeild="Address" Visible = "False"/>
<asp:BoundColumn HeaderText="Phone No." DataFeild="PhoneNo"/>
</Columns>
</asp:DataGridView>
OR
您可以在DataGridView的RowDataBound
事件中编码,如下所示,
protected void grdShowDeatils_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Rows.Cells[1].Visible = false;
}
答案 3 :(得分:0)
我认为这是asp.Net Web Forms - 你不能只设置grdShowDeatils.autoGenerateColumns =“false”,然后只需指定第1列和第3列(通过设计器或编程)?