前言:
此时你们对“怎么在gridview后面添加一列”大概比较着重,你们都想要学习一些“怎么在gridview后面添加一列”的相关文章。那么小编同时在网摘上收集了一些对于“怎么在gridview后面添加一列””的相关文章,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!昨天研究了一下如何给datagridview添加按钮列,也解决了点击问题,后来又有一个需求就是想根据不同的值来设置有些行的按钮不显示,如图:
实现这个功能的代码如下:
using System.Data;using System.Data.Common;namespace mydgv{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } DataTable GetDT() { DataTable mydt = new DataTable(); DataColumn dc0 = mydt.Columns.Add("ID", typeof(Int32)); DataColumn dc1 = new DataColumn(); mydt.Columns.Add(dc1); for (int i = 0; i < 5; i++) { DataRow newRow = mydt.NewRow(); newRow[0] = "0"; newRow[1] = i; //在最后面插入数据 mydt.Rows.Add(newRow); } return mydt; } private void button1_Click(object sender, EventArgs e) { //绑定本来的数据,我这里的数据已经为2列 dataGridView1.DataSource = GetDT(); //创建一个按钮列 DataGridViewButtonColumn DGBC = new DataGridViewButtonColumn(); //是否用自定义的文本 DGBC.UseColumnTextForButtonValue = true; DGBC.Text = "删除"; DGBC.Name = "Delete"; //添加按钮列,这里它是第3列了 dataGridView1.Columns.Add(DGBC); //更改按钮列标题 dataGridView1.Columns[2].HeaderText = "删除"; int count = dataGridView1.Rows.Count; for (int i = 0; i < count; i++) { //我这里是第2列格子的内容 string theid = dataGridView1.Rows[i].Cells[1].Value.ToString(); //如果内容是 1 if (theid == "1") { DataGridViewTextBoxCell txtcell = new DataGridViewTextBoxCell(); dataGridView1.Rows[i].Cells[2] = txtcell; txtcell.ReadOnly = true; } } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { //点吉的内容是哪一列 int CIndex = e.ColumnIndex; //如果是第3列,也就是我们设置的按钮列 if (CIndex == 2) { //得到是第几行 int rowindex = e.RowIndex; //得到该行其它格子的内容, //我这里是第2列格子的内容 string theid = dataGridView1.Rows[rowindex].Cells[1].Value.ToString(); label1.Text = "准备删除!" + theid; } } private void Form1_Load(object sender, EventArgs e) { } }}主要代码说明
//如果内容是 1
if (theid == "1")
{
DataGridViewTextBoxCell txtcell = new DataGridViewTextBoxCell();
dataGridView1.Rows[i].Cells[2] = txtcell;
txtcell.ReadOnly = true; //是否只读
}
这里主要是根据theid这一列的值来做出调整,如果此值为1,那么就用一个DataGridViewTextBoxCell来替换那个按钮。
我们也可以用 txtcell.Value = "不可删除 "; 这样的方法来设置文本框的说明或者说更改一下里面的文本,以方便做下一步操作,但需要注意的是,这里点击它也会触发点击事件,就又要做一番判断了。
标签: #怎么在gridview后面添加一列