2018年7月24日 星期二

在Devexpress CellEditorInitialize找不到e.Column.FieldName

目前有專案是使用devexpress 的元件來配合asp.net來開發
發現一件事 在aspxgridview 裡的一個事件 CellEditorInitialize
如果是DataItemTemplate 或是 EditItemTemplate 是找不到 e.Column.FieldName

 protected void Gridveiw_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)
 {
           //用來判斷是否是新增的一列
            if (Gridveiw.IsNewRowEditing)
            {
                e.Editor.ReadOnly = false;
            }

           //用來判斷aspxgridview 的欄位
           //其實這段是找不到的,因為它是DataItemTemplate(EditItemTemplate也是一樣)
            if (e.Column.FieldName == "No.") <= 永遠跑不到
             {
                    e.Editor.ReadOnly = true;
                    e.Editor.Style.Add(HtmlTextWriterStyle.Display, "Gray");
              }
           
           
  }

PS 如果GridViewDataTextColumn 設成Visible="false" 也是找不到e.Column.FieldName

沒有留言:

張貼留言

簽署時發生錯誤: 無法簽署 bin\Debug\app.publish\XXX.exe。SignTool Error: No certificates were found that met all the given criteria.

 這是一個程式碼簽署憑證的問題。當您的專案設定要進行程式碼簽署,但系統找不到合適的憑證時就會出現這個錯誤。以下是幾種解決方法: 方法 1:移除程式碼簽署設定 如果您不需要程式碼簽署,可以在專案中移除相關設定: 在 Visual Studio 中右鍵點擊專案 → 屬性 點擊「...