c# - 在 DataGridView 中显示二维数组
问题描述
我已经针对 N 的每个新值创建了新列,现在它只显示每行的最后一列,而且列名从“0”开始我想从“1”开始
private void printBoard(int[,] board,int N)
{
for (int i = 0; i < N; i++)
{
DataGridViewRow row = new DataGridViewRow();
for (int j = 0; j < N; j++)
{
if (i > 0 || j > 0)
{
dataGridView1.ColumnCount = N;
row.CreateCells(dataGridView1);
dataGridView1.Columns[j].Name = j.ToString();
row.Cells[j].Value = board[i, j];
}
}
this.dataGridView1.Rows.Add(row);
}
}
这是输出:
解决方案
在填充板单元之前初始化列和行:
private void printBoard(int[,] board, int N)
{
// create columns
dataGridView1.ColumnCount = N;
for (int c = 0; c < N; c++)
dataGridView1.Columns[c].Name = c.ToString();
// create N empty rows
dataGridView1.Rows.Add(N);
// fill cells
for (int r = 0; r < N; r++)
{
for (int c = 0; c < N; c++)
{
dataGridView1[c, r].Value = board[r, c];
}
}
}
推荐阅读
- docker - 我们可以从单个 docker 日志驱动程序将日志发送到多个位置吗
- android - Android Studio:使用 Firebase 显示当前用户数据的程序
- jquery - 页面加载时自动触发锚标记
- node.js - React/Vue(或任何其他类似框架)MPA 实现
- ruby-on-rails - 迁移中的 Rails 活动记录序列化
- javascript - 如何在控制台日志中查看所选选项与其他选项的组合?
- android - 无法在弹出活动中编辑 EditText
- amazon-s3 - AWS-S3 orb - Circle CI - 意外参数:参数
- d3.js - 使用d3鼠标悬停时如何使路径始终填充绿色
- reactjs - 重定向在 Accounts.createUser() 中不起作用