1

我很难为 DataGrid 行设置标题值。 我的 DataGrid 绑定到 DataTable但以下代码不会显示第一行的行标题。有任何想法吗?

注意:RowHeadersVisible = True

(假设我的 DataTable 在到达此代码之前至少有 1 列和 1 行)

    public new void ShowDialog()
    {
        dataGridView_replaceTable.Columns.Clear();
        dataGridView_replaceTable.Rows.Clear();

        dataGridView_replaceTable.DataSource = getDataTable(); <-- returns DataTable

        dataGridView_replaceTable.Rows[0].HeaderCell.Value = "ROW HEADER 1";
        // I expect to see the this string in the first row header - but it remians empty!
    }

向 DataTable 添加行和列的代码:

我们有:

replaceTableValues 数据表

作为类属性。

    public void addCol()
    {
        DataColumn column;

        column = new DataColumn(string colName);
        column.DataType = System.Type.GetType("System.String");
        column.ColumnName = colName;
        column.ReadOnly = false;
        replaceTableValues.Columns.Add(column);
    }

    public void addRow()
    {
        DataRow row;

        row = replaceTableValues.NewRow();

        string[] arr = new string[numOfCols+1];
        for (int i = 0; i < arr.Length; i++)
        {
            arr[i] = ""; // fill row data as empty string
        }

        try
        {
            replaceTableValues.Rows.Add(arr);
        }
        catch (System.Exception ex)
        {
            updateReplaceVarErrorMsg(TABLE_EXCEPTION);
        }

    }

我想要实现的目标:(红色文本) 图片

谢谢。

4

2 回答 2

0
grid.Columns[0].HeaderText = "Something special";

添加列的基本方法是:

int columnIndex = grid.Columns.Add("columnName", "Header Text");
于 2013-08-05T06:58:41.733 回答
0

您应该改用collectionHeaderText的属性:Columns

dataGridView_replaceTable.Columns[0].HeaderText="ROW HEADER 1";

您也可以在使用Caption属性添加列时执行此操作:

public void addCol()
{
    DataColumn column;

    column = new DataColumn(string colName);
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName = colName;
    column.Caption = "My header" // ASSIGN HEADERS HERE
    column.ReadOnly = false;
    replaceTableValues.Columns.Add(column);
}
于 2013-08-05T06:54:55.213 回答