Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 隐藏自动生成的gridview列_C#_Asp.net_Gridview - Fatal编程技术网

C# 隐藏自动生成的gridview列

C# 隐藏自动生成的gridview列,c#,asp.net,gridview,C#,Asp.net,Gridview,我需要隐藏在网格视图中自动生成的列。。 有人能给我建议怎么做吗? **我的代码** public page_load { private void BindGrid() { dt.Columns.Add("ID", typeof(Int16));// here it produce error as Field name ID already exists dt.Columns.Add("FirstName", typeof(string));

我需要隐藏在网格视图中自动生成的列。。 有人能给我建议怎么做吗?

**我的代码**

public page_load
{
private void BindGrid()
    {
        dt.Columns.Add("ID", typeof(Int16));// here it produce error as Field name ID already exists 
        dt.Columns.Add("FirstName", typeof(string));
        dt.Columns.Add("LastName", typeof(string));
        dt.Columns.Add("DateOfBirth", typeof(string));
        dt.Columns.Add("Occupation", typeof(string));
        dt.Columns.Add("Address", typeof(string));
        dt.Columns.Add("State", typeof(string));
        dt.Columns.Add("PostCode", typeof(string));
        dt.Columns.Add("Country", typeof(string));
        dt.Columns.Add("Email", typeof(string));
        dt.Columns.Add("Mobile", typeof(string));
        dt.Columns.Add("CustomerType", typeof(string));
        dt.Columns.Add("BusinessName", typeof(string));        
        CexCustomer.DataBind();        
    }
}

protected void btn_ShowCust_Click(object sender, EventArgs e)
{
    dt.Columns.Add(new DataColumn("ID", typeof(Int16)));
                      dt.Columns.Add(new DataColumn("FirstName", typeof(string)));
                      dt.Columns.Add(new DataColumn("LastName", typeof(string)));
                      dt.Columns.Add(new DataColumn("DateOfBirth", typeof(string)));
                      dt.Columns.Add(new DataColumn("Occupation", typeof(string)));
                      dt.Columns.Add(new DataColumn("Address", typeof(string)));
                      dt.Columns.Add(new DataColumn("State", typeof(string)));
                      dt.Columns.Add(new DataColumn("PostCode", typeof(string)));
                      dt.Columns.Add(new DataColumn("Country", typeof(string)));
                      dt.Columns.Add(new DataColumn("Email", typeof(string)));
                      dt.Columns.Add(new DataColumn("Mobile", typeof(string)));
                      dt.Columns.Add(new DataColumn("CustomerType", typeof(string)));
                      dt.Columns.Add(new DataColumn("BusinessName", typeof(string)));                         


                      DataRow dr = dt.NewRow();
                      int countvalue = myojb.Count;

                      for (int i = 0; i < countvalue; i++)
                      {
                          dt.Rows.Add(
                                     myojb[i].id,
                                     myojb[i].firstName,
                                     myojb[i].lastName,
                                     myojb[i].dob.ToUniversalTime().ToString("dd/MM/yyy"),
                                     myojb[i].occupation,
                                     myojb[i].address,
                                     myojb[i].state,
                                     myojb[i].postCode,
                                     myojb[i].country.ToUpper(),
                                     myojb[i].email,
                                     myojb[i].mobileNumber,
                                     myojb[i].customertype,
                                     myojb[i].businessName
                                     );

                      }
                      CexCustomer.Visible = true;                         
                      CexCustomer.DataSource = dt;
                      CexCustomer.Columns[12].Visible = false;//hide business name..
                      CexCustomer.DataBind();

}
公共页面加载
{
私有void BindGrid()
{
dt.Columns.Add(“ID”,typeof(Int16));//这里它产生错误,因为字段名ID已经存在
添加(“FirstName”,typeof(string));
添加(“LastName”,typeof(string));
添加(“出生日期”,类型(字符串));
添加(“职业”,类型(字符串));
添加(“地址”,类型(字符串));
添加(“状态”,类型(字符串));
添加(“邮政编码”,类型(字符串));
添加(“国家”,类型(字符串));
添加(“电子邮件”,typeof(字符串));
添加(“移动”,typeof(string));
添加(“CustomerType”,typeof(string));
添加(“BusinessName”,typeof(string));
CexCustomer.DataBind();
}
}
受保护的无效btn\u ShowCust\u单击(对象发送方,事件参数e)
{
添加(新的数据列(“ID”,typeof(Int16));
Add(新数据列(“FirstName”,typeof(string));
Add(新数据列(“LastName”,typeof(string));
Add(新的数据列(“出生日期”,typeof(字符串));
添加(新的数据列(“占领”,类型(字符串));
Add(新的数据列(“地址”,typeof(字符串));
Add(新的数据列(“State”,typeof(string));
添加(新的数据列(“邮政编码”,typeof(字符串));
添加(新的数据列(“国家”,类型(字符串));
添加(新的数据列(“电子邮件”,typeof(字符串));
添加(新数据列(“移动”,类型为(字符串));
Add(新的数据列(“CustomerType”,typeof(string));
Add(新数据列(“BusinessName”,typeof(string));
DataRow dr=dt.NewRow();
int countvalue=myojb.Count;
对于(int i=0;i

当运行时我需要隐藏Businessdetails时,任何人都可以建议如何解决此问题。

在您的行数据绑定事件中

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[12].Visible = false;
}

谢谢你的回答。。
我只是将自动生成的列设置为false,然后按照我的编码过程进行操作..效果很好..

指定的参数超出了有效值的范围。参数名称:索引产生了此错误。。