c#怎么获得dataGridView中指定的列的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#怎么获得dataGridView中指定的列的内容相关的知识,希望对你有一定的参考价值。

所指定的列里面是按钮!
我想获取按钮并设置他的text属性!
请问各位大侠该怎么做?
思路要清晰!若有代码最好加点备注!
谢谢啦!
怎么只获得指定列的按钮?
获得后设置它的Enabled属性呢?
就是单击过该按钮后让他的Enabled属性变为false

Button b = e.cell[i].findcontrol("Id") as Button;
b.Text="abc";
大致是这个意思即:我们通过e.cell[i]这个指定列来查找控件ID为Id的控件(即你放入的button),然后将之转换为Button即可,这个Button即为你要获取的按钮,下面的b.Text="abc",就是你要设置他的text属性追问

ID我也不知道啊?

参考技术A 假设是第一列是个button。
string a=null;
Button bx = (Button)dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value;
a= bx.Text; //将datagridview里的button的text值赋给a

如果是赋值给bx也同理啊
bx.Text=a;追问

dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value这是string类型的无法转换为button类型啊!

追答

Button bx = (Button)dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value;
(Button)就是强制转换成Button按钮类型了

然后Button bx创造一个Button实例用来接收。

追问

这个无法转换!

参考技术B 就这样能把你的列中的每一行信息传到text中
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

textBox9.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column1"].Value.ToString();
textBox2.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column2"].Value.ToString();
textBox3.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column4"].Value.ToString();
textBox4.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column5"].Value.ToString();
textBox5.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column6"].Value.ToString();
textBox6.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column7"].Value.ToString();
textBox7.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column8"].Value.ToString();
textBox8.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["Column9"].Value.ToString();
追问

似乎不是我要的!所指定的列里面是按钮!

本回答被提问者采纳

datagridview 怎么改变第一列的颜色

方法1:
//列Header的背景色为黄色
DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Yellow;
方法2:
DataGridView1.EnableHeadersVisualStyles = false;
DataGridView1.Columns[0].HeaderCell.Style.BackColor = Color.Blue;
//DataGridView1.Columns[i] i写想要的列号就可以了。
参考技术A 多行的话:
datagridview.Rows[i].Cells[0].BackColor=Color.Blue;
选中多行:
datagridview.SelectedRows[i].Cells[0].BackColor=Color.Blue;
当行:
datagridview.Rows[0].Cells[0].BackColor=Color.Blue;
选中单行:
datagridview.SelectedRows[0].Cells[0].BackColor=Color.Blue;追问

我说的第一列!!!

追答

这就是某一行的第一列!!!!!

参考技术B dgvStatusCodes.Columns[0].DefaultCellStyle.BackColor = Color.Red;追问

这个没有效果,不清楚为什么,我在属性里设置的,已经修改成功了

追答

这个是我试验成功了的,有肯能是绑定方式不一样导致的吧,我是直接dgvStatusCodes.DataSource = .....的方式绑定的,我猜你是AddColumn的方式

本回答被提问者采纳
参考技术C 属性里找啊

以上是关于c#怎么获得dataGridView中指定的列的内容的主要内容,如果未能解决你的问题,请参考以下文章

php返回数组中指定的一列方法是啥?

如何获得DataGridView中某一列中全部的值?

Mysql中ORDER BY 排序怎么使用?指定顺序和多字段排列

winform datagridview打印出来的列的排序跟在datagridview显示的列的排序不一样,要怎么把他们弄成一样的

C#如何读取XML中指定的节点值?

winform c# Datagridview 选中行 急!!!