9

我使用下面的代码来更改列名,但不幸的是它不会让我这样做。请帮我解决这个问题:

DateTime dt = DateTime.Now;
string s = dt.DayOfWeek.ToString();
for (int i = 0; i < 10; i++)
{
    dataGridView1.Columns.Add(string.Format("col{0}", i), s);
}
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
    int c = dataGridView1.CurrentCell.ColumnIndex;
    string str = dataGridView1.Columns[c].HeaderText;
    if (str == "Wednesday")
    {
        str = "fifth day of week";
    }
}

还有什么办法可以让我在特定日期时间之间连续一周中的每一天。

任何帮助将不胜感激

4

3 回答 3

16

你需要设置DataGridView.Column[index].HeaderText:

DateTime dt = DateTime.Now;

string s = dt.DayOfWeek.ToString();
for (int i = 0; i < 10; i++)
{
    dataGridView1.Columns.Add(string.Format("col{0}", i), s);
}

for (int i = 0; i < dataGridView1.Columns.Count; i++)
{

   string str = dataGridView1.Columns[i].HeaderText;
   if (str == "Wednesday")
   {
       dataGridView1.Columns[i].HeaderText = "fifth day of week";
   }
}
于 2012-11-15T10:24:42.960 回答
7

将此行添加到 Datagridview DataBindingComplete 事件处理程序

 this.dataGridView1.Columns["your database column name"].HeaderText = " preferred name";
于 2014-09-06T14:40:10.057 回答
2

下面的代码将在特定日期时间之间依次获取一周中的所有天,并将天的名称打印为列标题:

        DateTime dtStart = new DateTime(2012, 11, 1);
        DateTime dtEnd = new DateTime(2012, 11, 7);

        for (int i = 0; i < dtEnd.Subtract(dtStart).Days; i++)
        {
            TimeSpan counter = new TimeSpan(i, 0, 0, 0);

            dataGridView1.Columns.Add(string.Format("col{0}", i), (dtStart + counter).DayOfWeek.ToString());
        }  
于 2012-11-15T10:43:37.910 回答