【问题标题】:How to set column header text for specific column in Datagridview C#如何在Datagridview C#中为特定列设置列标题文本
【发布时间】:2010-11-05 10:27:23
【问题描述】:

如何在 Datagridview C# 中为特定列设置列标题文本

【问题讨论】:

    标签: c# .net winforms datagridview


    【解决方案1】:

    Column对象中有HeaderText属性,你可以在初始化网格后找到该列并设置它的HeaderText,或者通过DataGrid的设计器在窗体设计器中进行。

        public Form1()
        {
            InitializeComponent();
    
            grid.Columns[0].HeaderText = "First Column"; 
            //..............
        }
    

    更多详情请访问 MSDN 的 here。有关 DataGrid 的更多详细信息是here

    【讨论】:

    • 如何在不调用 cellvaluechanged 事件的情况下完成同样的事情?
    • 好吧,自从我使用它已经有一段时间了,但我认为如果你通过设计器来做(如果你事先知道你想要的列值是什么)它不应该打扰触发事件.或者您可以设置一些标记,例如 settingHeader=true;,然后在 callvaluechanged 处理程序中检查以跳过任何操作。
    【解决方案2】:
    grid.Columns[0].HeaderText
    

    grid.Columns["columnname"].HeaderText
    

    【讨论】:

      【解决方案3】:

      有关信息,如果您要绑定到一个类,您可以通过 DisplayNameAttribute 在您的类型中执行此操作:

      [DisplayName("Access key")]
      public string AccessKey { get {...} set {...} }
      

      现在自动生成列上的标题文本将是“访问键”。

      【讨论】:

        【解决方案4】:
        Dg_View.Columns.Add("userid","User Id");
        Dg_View.Columns[0].Width = 100;
        
        Dg_View.Columns.Add("username", "User name");
        Dg_View.Columns[0].Width = 100;
        

        【讨论】:

          【解决方案5】:
          private void datagrid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
          {
              string test = this.datagrid.Columns[e.ColumnIndex].HeaderText;
          }
          

          此代码将获得HeaderText 值。

          【讨论】:

            【解决方案6】:

            如果您使用 Visual Studio Designer,您可能已经为 YourForm.Designer.cs 文件中的每一列定义了字段,例如:

            private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;    
            private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; 
            

            如果你给它们起有用的名字,你可以很容易地设置HeaderText

            usefulNameForDataGridViewTextBoxColumn.HeaderText = "Useful Header Text";
            

            【讨论】:

              【解决方案7】:

              dgv.Columns[0].HeaderText = "你的标题";

              【讨论】:

              • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
              猜你喜欢
              • 1970-01-01
              • 2013-11-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-12-06
              相关资源
              最近更新 更多