添加面板到Datagridview [英] Add a Panel to Datagridview

查看:179
本文介绍了添加面板到Datagridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想把Panel放到datagridview中包含一组控件的列中。
我该怎么做?因为标准的方法允许添加复选框,按钮,组合框等等,但是我找不到如何放简单的Panel。
感谢任何帮助

解决方案

面板控件也是从控件类继承的,所以你可以像任何其他控件



以下是我在其中一个项目中使用的代码。

  private void Form5_Load(object sender,EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(name); (int j = 0; j< 10; j ++)
{
dt.Rows.Add();
}
this.dataGridView1.DataSource = dt;
this.dataGridView1.Columns [0] .Width = 200;

/ *
*第一种方法:转换为现有的单元格类型,如ComboBox单元格,
* /

DataGridViewComboBoxCell ComboBoxCell = new DataGridViewComboBoxCell() ;
ComboBoxCell.Items.AddRange(new string [] {aaa,bbb,ccc});
this.dataGridView1 [0,0] = ComboBoxCell;
this.dataGridView1 [0,0] .Value =bbb;

DataGridViewTextBoxCell TextBoxCell = new DataGridViewTextBoxCell();
this.dataGridView1 [0,1] = TextBoxCell;
this.dataGridView1 [0,1] .Value =some text;

DataGridViewCheckBoxCell CheckBoxCell = new DataGridViewCheckBoxCell();
CheckBoxCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dataGridView1 [0,2] = CheckBoxCell;
this.dataGridView1 [0,2] .Value = true;

/ *
*第二种方法:将控件添加到单元格中的主机
* /
DateTimePicker dtp = new DateTimePicker();
dtp.Value = DateTime.Now.AddDays(-10);
//将DateTimePicker添加到DataGridView的控件集合
this.dataGridView1.Controls.Add(dtp);
//设置其位置和大小以适应单元格
dtp.Location = this.dataGridView1.GetCellDisplayRectangle(0,3,true).Location;
dtp.Size = this.dataGridView1.GetCellDisplayRectangle(0,3,true).Size;
}


I want to put Panel into column which contains a group of controls into datagridview. How could I do that? Because the standard methods allow to add checkbox, button, combobox and few more, but I can't find how to put simple Panel. Thanks for any help

解决方案

Panel control is also inherited from control class so you can add it like any other control

Below is the code i used in one of my projects .

private void Form5_Load(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("name");
    for (int j = 0; j < 10; j++)
    {
        dt.Rows.Add("");
    }
    this.dataGridView1.DataSource = dt;
    this.dataGridView1.Columns[0].Width = 200;

    /*
     * First method : Convert to an existed cell type such ComboBox cell,etc
     */

    DataGridViewComboBoxCell ComboBoxCell = new DataGridViewComboBoxCell();
    ComboBoxCell.Items.AddRange(new string[] { "aaa","bbb","ccc" });
    this.dataGridView1[0, 0] = ComboBoxCell;
    this.dataGridView1[0, 0].Value = "bbb";

    DataGridViewTextBoxCell TextBoxCell = new DataGridViewTextBoxCell();
    this.dataGridView1[0, 1] = TextBoxCell;
    this.dataGridView1[0, 1].Value = "some text";

    DataGridViewCheckBoxCell CheckBoxCell = new DataGridViewCheckBoxCell();
    CheckBoxCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
    this.dataGridView1[0, 2] = CheckBoxCell;
    this.dataGridView1[0, 2].Value = true;

    /*
     * Second method : Add control to the host in the cell
     */
    DateTimePicker dtp = new DateTimePicker();
    dtp.Value = DateTime.Now.AddDays(-10);
    //add DateTimePicker into the control collection of the DataGridView
    this.dataGridView1.Controls.Add(dtp);
    //set its location and size to fit the cell
    dtp.Location = this.dataGridView1.GetCellDisplayRectangle(0, 3,true).Location;
    dtp.Size = this.dataGridView1.GetCellDisplayRectangle(0, 3,true).Size;
}

这篇关于添加面板到Datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆