【发布时间】:2013-02-26 08:41:14
【问题描述】:
我在表单加载中将 ReadOnly 属性设置为 true
dgvDcNon.Columns["itemDiscrip"].ReadOnly = true;
但该属性不起作用。我应该采取更多步骤来实现这一点吗?
我在editcontrolshowing 事件中将自动完成模式设置为datagridview。有什么原因吗? 我的代码是
if (e.Control is TextBox)
{
TextBox tbValid = e.Control as TextBox;
tbValid.KeyPress += new KeyPressEventHandler(tbValid_KeyPress);
}
String[] strAutoCmp = prodctsDCCls.AutoCmpltPrdct();
TextBox txtAuto = e.Control as TextBox;
txtAuto.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
txtAuto.AutoCompleteSource = AutoCompleteSource.CustomSource;
if (this.dgvDcNon.Columns[this.dgvDcNon.CurrentCell.ColumnIndex].Name == "itemDiscrip")
{
var name = new AutoCompleteStringCollection();
name.AddRange(strAutoCmp);
if (txtAuto != null)
{
txtAuto.AutoCompleteCustomSource = name;
}
}
else
{
txtAuto.AutoCompleteCustomSource = null;
}
【问题讨论】:
-
到底发生了什么?您仍然可以更改该列单元格中的值吗?
-
是的。准确先生@yBee
-
尝试使用列的索引,看看是否有区别。这应该可以正常工作。例如 dgvDcNon.Columns[1].ReadOnly = true;
-
您确定您的代码中没有任何地方可以覆盖该值吗?
-
Yahh.. 没有覆盖。我确定
标签: c# datagridview readonly