我有一个datagridview
表,显示SQL表中的一些客户信息。我在最后添加了datagridviewbuttoncolumn
以允许一次编辑一行。但是,我甚至无法使用按钮获得基本功能。 UseColumnTextForButton
属性似乎不起作用,也不是我在逐步尝试更改文本时。
private void CardList_grdvw_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.RowIndex >= 0)
{
senderGrid.Rows[e.RowIndex].ReadOnly = false;
var btn = (DataGridViewButtonCell)senderGrid.CurrentCell;
btn.Value = "save";
}
}
我已检查过以确认是否正在引用正确的单元格。调试时,我设置btn.Value = "save"
后仍然是null
。
此外,即使将ReadOnly
属性设置为false
,该行仍然无法修改。
答案 0 :(得分:0)
默认情况下,DataGridView中列的Text属性为空。我认为你混淆了HeaderText和Text属性。将UseColumnTextForButton设置为true时,按钮将使用列的Text属性。
确保在设计器中提供该Text属性。
要使您发布的代码生效,请将UseColumnTextForButton设置为false。