C#DataGridView控件怎么增加行、列?

C#DataGridView控件怎么增加行、列?,第1张

添加列:

DataGridViewColumn column = new DataGridViewColumn()

设置column属性如:column.HeaderText = "列名"

dgv1.columns.add(column)

添加行:

DataGridViewRow row = new DataGridViewRow()

设置row属性

dgv1.rows.add(row)

(一)。自适应窗体的代码:

using System

using System.Windows.Forms

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

//1.声明自适应类实例

AutoSizeFormClass asc = new AutoSizeFormClass()

public Form1()

{

InitializeComponent()

//如果加入"皮肤",则不能在Form1_Load中记录控件的大小和位置,因为有些控件如dataGridView的子控件还未完成

//而要在在Form1_SizeChanged中,第一次改变时,记录控件的大小和位置

this.skinEngine1.SkinFile = "EmeraldColor1.ssk"

}

//2. 为窗体添加Load事件,并在其方法Form1_Load中,调用类的初始化方法,记录窗体和其控件的初始位置和大小

private void Form1_Load(object sender, EventArgs e)

{

// asc.controllInitializeSize(this)

}

//3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,调用类的自适应方法,完成自适应

private void Form1_SizeChanged(object sender, EventArgs e)

{

asc.controlAutoSize(this)

//  this.WindowState = (System.Windows.Forms.FormWindowState)(2)//记录完控件的初始位置和大小后,再最大化

}

}

}

(二)。自适应类的代码

using System.Collections.Generic

using System.Windows.Forms

namespace WindowsFormsApplication1

{

class AutoSizeFormClass

{

//(1).声明结构,只记录窗体和其控件的初始位置和大小。

public struct controlRect

{

public int Left

public int Top

public int Width

public int Height

}

实际 *** 作起来可能没有你想象的那么简单,你需要响应Form Resize之类的事件,然后根据事件,实时逐个调整控件的大小。在WPF中就简单多了。

dataGridView中没有针对某一行的按钮进行分配事件的方法。

所以我们只能够使用dataGridView的CellContentClick事件来进行处理

根据名称就知道,这是一个“单元格内容点击”事件。

然后在事件中,我们进行各种相关的处理:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

if (e.RowIndex >= 0)

{

DataGridViewColumn column = dataGridView1.Columns[e.ColumnIndex]

if (column is DataGridViewButtonColumn)

{

DataGridViewRow newRow = new DataGridViewRow()//新建行

dataGridView1.Rows.Insert(e.RowIndex+1, newRow)//向点击行的下方插入行

int i=0

for (i <dataGridView1.Rows[e.RowIndex].Cells.Counti++)

{

dataGridView1.Rows[e.RowIndex + 1].Cells[i].Value = dataGridView1.Rows[e.RowIndex].Cells[i].Value//把点击行的内容复制到新行;

}

}

}

}

1、新建一个Form做测试,包含一个DataGridView,DataGridView有三列,分别是学号,姓名,分数表示一个期末考试分数表。

2、双击添加数据按钮,填写添加数据代码。

3、点击运行,填写数据。

4、点击添加即可添加一行数据。

注意事项:

C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11422731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存