2014-05-20 55 views
0

我需要隐藏在网格视图自动生成列.. 任何一个可以建议我该怎么办呢..
遮盖力自动生成的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)); 
     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(); 

} 

同时运行时我需要隐藏Businessdetails任何一个可以建议如何来解决这个问题..

+0

http://stackoverflow.com/questions/3819247/ gridview-hide-column-by-code – Sajeetharan

回答

0

在绑定事件你行数据...

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

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

+0

自动生成列需要计数为0 .. – user3595072

0

感谢你对你的答案.. 我只是把我的自动生成的假柱,跟着我的编码process..it做工不错..