2016-09-08 96 views
0

enter image description here好日子.. 我有一个GridView,它是如在上图中无法添加列标题自定义

出列,我想从ID名称任务总销售等取代列名

但我无法做到这一点

当我给标题文本,或编辑栏,它增加了从数据库中不低于标题文字

请指导

感谢

这是点击后什么搜索按钮的功能:

private void button3_Click_1(object sender, EventArgs e) 
    { 

     SqlConnection strg = new SqlConnection("Data Source=RANA;Initial Catalog=PlacementCellProject;Integrated Security=True;Pooling=False"); 
     //SqlConnection cn = new SqlConnection(strg); 
     SqlDataAdapter sdf = new SqlDataAdapter("select ID, name, task, total_sale, owner, worker, tdate, payment_status from saloonworkers where tdate between '" + dateTimePicker2.Value.ToString() + "' and '" + dateTimePicker3.Value.ToString() + "' ", strg); 
     DataTable sd=new DataTable(); 
     sdf.Fill(sd); 
     dataGridView1.DataSource=sd; 
     SqlDataReader dr; 
    } 

这是的OnLoad initializatoin:

public Form6() 
    { 
     InitializeComponent(); 
     textBox3.Text = ""; 
     showworkers(); 
     ownershare(); 
     workershare(); 
     dataGridView1.Columns[0].HeaderText = "I"; 

     // dataGridView1.Columns["ID"].HeaderText = "I"; 
     /*dataGridView1.Columns.Add("ID", "I"); 

     for (int i = 0; i < dataGridView1.Columns.Count; i++) 
     { 
      string header = dataGridView1.Columns[i].HeaderText; 
     }*/ 

    } 

回答

1

如果绑定数据,则可以使用属性“DisplayName”。

[DisplayName("Name")] 

public string FirstName {get;set;} 

您也可以为onload页面把页眉文字这样

grid.Columns[0].HeaderText = "Name"; 

OK,你先试中的OnLoad方法变更头,其不存在,从按钮添加你的代码为onload和明年改变你的头。首先添加数据源下一个更改标题。

+0

如果您想说form_load,它不起作用,并且Onload事件不在网格中。 –

+0

根据您的查询,错误是: 索引超出范围。必须是非负数且小于集合的大小。 –

+0

因此在加载数据源之后添加它。您需要先添加数据源下一个更改标题。列索引从0开始。因此,如果您的“ID”列是第一个,它确实在索引0上。 –

0

DataSource结合DataGridView后。尝试更改HeaderText

sampleGridView.DataSource = stu; 
sampleGridView.Columns[0].HeaderText = "ID"; 
+0

我..加入有列,但是当我运行它表明这样的: ID ID任务售等 意味着它会显示所有列加添加一个 –

+0

请分享您的代码 –

0
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="ContactName" HeaderText="Contact Name" ItemStyle-Width="150px" /> 
     <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="100px" /> 
     <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="100px" /> 
    </Columns> 
</asp:GridView> 

您将在数据绑定之前设置列名称。 我希望它帮你

+0

它的窗体不是网页.. –

0
private void BindGrid() 
     { 
      string constring = @"Data Source=.\SQL2005;Initial Catalog=Northwind;User id = sa;[email protected]"; 
      using (SqlConnection con = new SqlConnection(constring)) 
      { 
       using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", con)) 
       { 
        cmd.CommandType = CommandType.Text; 
        using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) 
        { 
         using (DataTable dt = new DataTable()) 
         { 
          sda.Fill(dt); 

          //Set AutoGenerateColumns False 
          dataGridView1.AutoGenerateColumns = false; 

          //Set Columns Count 
          dataGridView1.ColumnCount = 3; 

          //Add Columns 
          dataGridView1.Columns[0].Name = "CustomerId"; 
          dataGridView1.Columns[0].HeaderText = "Customer Id"; 
          dataGridView1.Columns[0].DataPropertyName = "CustomerID"; 

          dataGridView1.Columns[1].HeaderText = "Contact Name"; 
          dataGridView1.Columns[1].Name = "Name"; 
          dataGridView1.Columns[1].DataPropertyName = "ContactName"; 

          dataGridView1.Columns[2].Name = "Country"; 
          dataGridView1.Columns[2].HeaderText = "Country"; 
          dataGridView1.Columns[2].DataPropertyName = "Country"; 
          dataGridView1.DataSource = dt; 
         } 
        } 
       } 
      } 
     } 

请使用给出code.i敢肯定它是帮助你。

+0

@Mazhar Iqbal Rana使用此代码 –

0

首先你需要加载的数据源和未来变化HEADERTEXT

sampleGridView.Columns[0].HeaderText = "ID"; 
相关问题