Windows窗体:更改dataGridView的第一个单元格来源?

Asd*_*ffo 5 c# datagridview matrix winforms

长话短说,我有这个dataGridView,我希望单元格[0,0]是网格左下角的单元格,而不是像默认情况下那样在网格的左上角.

例如,在视觉上,如果我做了类似的事情:

dataGridView1[0, 0].Value = "a";
Run Code Online (Sandbox Code Playgroud)

我明白了(抱歉没有足够的声望来发布图片)

但我希望通过执行相同的指令,在蓝色突出显示的插槽中显示"a",并通过执行添加行的操作,它将添加到网格的顶部.

非常感谢提前和问候

Beh*_*zad 4

创建一个类,如下所示:

public class MyDataGridView : DataGridView
{
    public new DataGridViewCell this[int col, int invertRow]
    {
        get
        {
            int recordCount = this.RowCount - (this.AllowUserToAddRows ? 2 : 1);
            return this.Rows[recordCount - invertRow].Cells[col];
        }
        set
        {
            int recordCount = this.RowCount - (this.AllowUserToAddRows ? 2 : 1);
            this.Rows[recordCount - invertRow].Cells[col] = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并这样称呼它:

dataGridView1[0, 0].Value = "a";
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想设置或获取网格左上角的第一个单元格,则可以使用FirstDisplayedCell属性。

MSDN:获取或设置DataGridView当前显示的第一个单元格;通常,该单元格位于左上角。

例如:

dataGridView1.FirstDisplayedCell.Value = "a";
Run Code Online (Sandbox Code Playgroud)