Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data GridView C#在运行时隐藏列_C#_Winforms_Datagridview_Datatable - Fatal编程技术网

Data GridView C#在运行时隐藏列

Data GridView C#在运行时隐藏列,c#,winforms,datagridview,datatable,C#,Winforms,Datagridview,Datatable,我有一个datagridview名称是“grdShowDeatils”,一个名为“objshowActivationStats”的类,其方法返回方法的DataTable名称是“GetCapmaignsStatsDetails()” 我的问题是dataTable有三列,我想在运行时隐藏第二列,它不应该对用户可见。我如何做到这一点?您可以编写以下代码 { grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStat

我有一个datagridview名称是“grdShowDeatils”,一个名为“objshowActivationStats”的类,其方法返回方法的DataTable名称是“GetCapmaignsStatsDetails()”


我的问题是
dataTable
有三列,我想在运行时隐藏第二列,它不应该对用户可见。我如何做到这一点?

您可以编写以下代码

{    
    grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
    grdShowDeatils.Columns[3].Visible = false;
}


您可以编写以下代码

{    
    grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
    grdShowDeatils.Columns[3].Visible = false;
}


假设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>

假设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>
用这个

{
    grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
    grdShowDeatils.Columns[1].Visible = false;
}
用这个

{
    grdShowDeatils.DataSource = objShowCampaignStats.GetCapmaignsStatsDetails();
    grdShowDeatils.Columns[1].Visible = false;
}

我假设这是asp.Net Web表单--您不能只设置grdShowDeatils.autoGenerateColumns=“false”然后只指定第一列和第三列(通过设计器或编程)?

我假设这是asp.Net Web表单--您不能只设置grdShowDeatils.autoGenerateColumns=“false”然后只指定第一列和第三列吗(通过设计器或编程方式)?

试试这个问题的答案好吧,你可以说其他to列应该折叠看看这里这可能有助于尝试这个问题的答案好吧,你可以说其他to列应该折叠d看这里这可能会有帮助@AHMAD SUMRAIZ哦不,我已经把你期待的答案作为第一个添加了。但是你正在接受某人answer@AHMADSUMRAIZ哦,不,我已经添加了您期望的答案作为第一个。但您正在接受som一个答案