我在设置DataGrid行的标头值时遇到了困难。 我的DataGrid受DataTable 限制,但以下代码不会显示第一行的行标题。有什么想法吗?
注意:RowHeadersVisible = True
(假设我的DataTable在到达此代码之前至少有1个col和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 DataTable
作为类属性。
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);
}
}
我想要实现的目标:(红色文字) Image
感谢。
答案 0 :(得分:0)
您应该使用HeaderText
集合的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);
}
答案 1 :(得分:0)
grid.Columns[0].HeaderText = "Something special";
添加列的基本方法是:
int columnIndex = grid.Columns.Add("columnName", "Header Text");