dataGridView 里面有一列DataGridViewButtonColumn 怎么改变其text值

tuzhenqiao 2012-03-08 04:22:56
我是vs2005在dataGridView 里面 有一列是DataGridViewButtonColumn 的text值是“审核”,我想点一下‘审核’,这个text 的值就变为"弃审", 这个怎么弄,谢谢。
...全文
1051 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
seanlau187 2014-01-20
  • 打赏
  • 举报
回复
多简单,你自定义一个字段,把它绑定到你的按钮列的DataPropertyName,你改什么名,就可以用什么名了。 默认什可以在外观的模块下的DataGridViewCellStyle 下找到NullValue去设定就行了。
失落的神庙 2012-10-29
  • 打赏
  • 举报
回复

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex >= 0)//假如第一列是审核列
{
dataGridView1.Rows[e.RowIndex].Cells(e.ColumnIndex).value = "弃审";
//试试这个dataGridView1.Rows[e.RowIndex].Cells(e.ColumnIndex)=new DataGridViewButton(){Text="弃审"};
}
}

手打的。拼写可能有错误。你试试
aabblove 2012-10-28
  • 打赏
  • 举报
回复
1, 将DataGridViewButtonColumn列属性UseColumnTextForButtonValue设为false,意为不用按钮Text属性来显示按钮文本;

2, 将DefaultCellStyle里面属性NullValue设置为按钮文本

3, 在DataGridView1里面CellClick事件里面添加如下代码

Private void DataGridView1_CellClick(Object sender,DataGridViewCellEventArgs e)

{

if(e.ColumnIndex != 按钮列索引 && e.RowIndex != -1)

{

return;

}

if(this.DataGridView1.CurrentCell.Value == null || this.DataGridView1.CurrentCell.Value.ToString() == “启用”)

{

this.DataGridView1.CurrentCell.Value = “停用”;

}

else

{

this.DataGridView1.CurrentCell.Value = “启用”;

}

}

备注:

按钮文本默认为“启用”,点击之后设置为“停用”,根据需要,设置为相应文本。
bdmh 2012-03-08
  • 打赏
  • 举报
回复
没有问题,完全可以,已经测试
dataGridView1.CurrentCell.Value = "弃审";
tuzhenqiao 2012-03-08
  • 打赏
  • 举报
回复
如果Cells[0]是 datagridviewbuttoncolumn 类型的,就不行,其他的如DataGridViewTextBoxColumn 类型,就可以。
风之影子 2012-03-08
  • 打赏
  • 举报
回复
晕:我错了,1楼的代码就可以。

我刚试了。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace abc
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.dataGridView1.Rows[0].Cells[0].Value = "审核";
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (this.dataGridView1.Rows[0].Cells[0].Value.ToString() == "审核")
{
this.dataGridView1.Rows[0].Cells[0].Value = "弃审";
}
else
{
this.dataGridView1.Rows[0].Cells[0].Value = "审核";
}
}
}
}
tuzhenqiao 2012-03-08
  • 打赏
  • 举报
回复
datagridviewcell 并不包含 "Contral" 的定义
tuzhenqiao 2012-03-08
  • 打赏
  • 举报
回复
恩,我是似乎,
tuzhenqiao 2012-03-08
  • 打赏
  • 举报
回复
是报错。

无法将类型,datagirdviewcell 转换成datagridviewbuttoncolumn

那需要怎么写呢?
风之影子 2012-03-08
  • 打赏
  • 举报
回复
dataGridView4.Rows[1].Cells[6].Control[0]

试试
风之影子 2012-03-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tuzhenqiao 的回复:]

1楼的试过了,不行
((DataGridViewButtonColumn)dataGridView4.Rows[1].Cells[6]).Text = “弃审”

也不行
[/Quote]

这个不行吗,你的代码应该是报错吧。

需要转换的是单元格里的控件。不是转换单元格。
tuzhenqiao 2012-03-08
  • 打赏
  • 举报
回复
1楼的试过了,不行
((DataGridViewButtonColumn)dataGridView4.Rows[1].Cells[6]).Text = “弃审”

也不行
风之影子 2012-03-08
  • 打赏
  • 举报
回复
先转换为datagridviewbutton控件再进行控件文本值改变,上面1楼的方法没有试过,你可以试下。
  • 打赏
  • 举报
回复
楼上++
bdmh 2012-03-08
  • 打赏
  • 举报
回复

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)//假如第一列是审核列
{
dataGridView1.CurrentCell.Value = "弃审";
}
}

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧