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 に答える