【问题标题】:I'm trying to have 2 check box columns before other columns in DataGrid我试图在 DataGrid 中的其他列之前有 2 个复选框列
【发布时间】:2011-12-24 05:09:03
【问题描述】:

我正在尝试在前 2 列的行中设置 2 个复选框,并保留一些文本。使用我的代码,我在每一行都有文本框,但在最后 2 列。

我希望能够将复选框放在文本条目之前。

我尝试更改代码的顺序,但无法得到我想要的结果。

我的代码有什么问题?

        dataGridView1.ColumnCount = 4;
        dataGridView1.Columns[0].Name = "Delete";
        dataGridView1.Columns[1].Name = "Edit";
        dataGridView1.Columns[2].Name = "User Name";
        dataGridView1.Columns[3].Name = "Password";

        DataGridViewCheckBoxColumn delete = new DataGridViewCheckBoxColumn();
        DataGridViewCheckBoxColumn edit = new DataGridViewCheckBoxColumn();
        dataGridView1.Columns.Add(delete);
        delete.HeaderText = "Delete";
        dataGridView1.Columns.Add(edit);
        edit.HeaderText = "Edit";

        string[] row;

        row = new string[] { "1", "Product 1", "1000", "1" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "2", "Product 4", "2000", "2" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "3", "Product 5", "3000", "3" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "4", "Product 6", "4000", "4" };
        dataGridView1.Rows.Add(row);

【问题讨论】:

  • 需要您的更多解释
  • @rahularyansharma,我有更新我的 OP。但是,让我知道你想知道什么。
  • 您以两种不同的方式添加了两次列。选一个。请记住,您也可以在设计器中添加它们...
  • 用户名和密码在哪里(“1”、“产品 1”、“1000”、“1”)

标签: c# winforms datagrid


【解决方案1】:

DataGridView.Rows.Add() 函数接受一个对象数组。您提供的对象类型应取决于每列的类型。

因此,如果您正确设置列,您应该能够编写:

dataGridView1.Rows.Add(new object[] { true, false, "user", "password" });

在您的原始代码中,您以两种不同的方式添加了两次列。选择一种添加列的方法。

【讨论】:

  • 好像这个作品。但我更喜欢使用设计器来创建布局,这样更容易。
【解决方案2】:

见下文...

        dataGridView1.ColumnCount = 4;
        dataGridView1.Columns[0].Name = "Delete";
        dataGridView1.Columns[1].Name = "Edit";
        dataGridView1.Columns[2].Name = "User Name";
        dataGridView1.Columns[3].Name = "Password";

        DataGridViewCheckBoxColumn delete = new DataGridViewCheckBoxColumn();
        DataGridViewCheckBoxColumn edit = new DataGridViewCheckBoxColumn();
        dataGridView1.Columns.Insert(0,delete);
        //dataGridView1.Columns.Add(delete);
        delete.HeaderText = "Delete";
        //dataGridView1.Columns.Add(edit);
        dataGridView1.Columns.Insert(1,edit);
        edit.HeaderText = "Edit";


        string[] row;

        row = new string[] {"false","false", "1", "Product 1", "1000", "1" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "false", "false", "2", "Product 4", "2000", "2" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "false", "false", "3", "Product 5", "3000", "3" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "false", "false", "4", "Product 6", "4000", "4" };
        dataGridView1.Rows.Add(row);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 2016-01-13
    • 2020-08-02
    • 2017-03-27
    • 2013-04-04
    • 1970-01-01
    相关资源
    最近更新 更多