0

フォームの読み込みで 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;
            }
4

1 に答える 1

0

データソースに関連している可能性がありますか?データソースが読み取り専用の場合、これを変更することはできません。

編集済み

これにデータベースモデルを使用する場合、EX:

Class Item
{
    public string itemId {get; set;}
    public string itemName {get; set;}
    public string itemDiscrip {get; set;}
    public int itemSize {get; set;}
    //whatever
}

コードからセッターを削除してみてください。

public int itemSize {get; set;}

になる必要があります

public int itemSize {get;}

他のタイプのデータソースがある場合は、読み取り専用修飾子を使用してみてください。

于 2013-02-26T08:51:03.987 に答える