我在表单加载中将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;
}
答案 0 :(得分:0)
它可能与数据源有关吗? 如果数据源是只读的,则无法更改此内容。
<强> EDITED 强>
如果您使用数据库模型,EX:
Class Item
{
public string itemId {get; set;}
public string itemName {get; set;}
public string itemDiscrip {get; set;}
public int itemSize {get; set;}
//whatever
}
尝试从代码中删除setter:
public int itemSize {get; set;}
应该成为
public int itemSize {get;}
如果您有其他类型的数据源,请尝试使用readonly修饰符。