2013-04-16 46 views
1

我有Telerik的radgrid控件一個問題:獲取值時radgrid控件處於編輯模式(就地)

  • 我有17列的radgrid控件,只有6是editables(其他有隻讀=」真「)

  • 一個鍵觸發,試圖更改保存到數據庫的方法(不是radgrid控件的事件,所以我還沒有電網參數)

  • 我可以從radgrid.edititems值(6列)但我不知道在哪裏找到其他11 c olumns是不可編輯...

這裏是我的代碼

protected void HiddenButton_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     DataTable dt = Oggetti.DT_RDO(); 

     foreach (GridEditableItem editedItem in dgRDO.EditItems) 
     { 
      Hashtable newValues = new Hashtable(); 
      //The GridTableView will fill the values from all editable columns in the hash 
      editedItem.OwnerTableView.ExtractValuesFromItem(newValues, editedItem); 

進入newValues我已編輯的值,在那裏我能得到其他值???

回答

3

請嘗試使用下面的代碼片段。

.ASPX

<Columns> 
    <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID"> 
    </telerik:GridBoundColumn> 
    <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name"> 
    </telerik:GridBoundColumn> 
    <telerik:GridEditCommandColumn> 
    </telerik:GridEditCommandColumn> 
</Columns> 

.ASPX.CS

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
{ 
    if (e.Item is GridEditableItem && e.Item.IsInEditMode) 
    { 
     if (e.Item is GridEditFormInsertItem) 
     { 
      // insert 
     } 
     else 
     { 
      // Edit 
      // Please add below code in your page 
      GridEditableItem item = e.Item as GridEditableItem; 
      item["Name"].Controls[0].Visible = false; 
      Label l1 = new Label(); 
      l1.ID = "l1"; 
      l1.Text = (item["Name"].Controls[0] as TextBox).Text; 
      item["Name"].Controls.Add(l1); 
     } 
    } 
} 

注:我們不能讓只讀列在ExtractValuesFromItem方法的價值。如果我們將任何列設置爲只讀,那麼它將不會以editmode呈現。這就是爲什麼我們無法訪問這些列。

添加上面的代碼後,您可以在ExtractValuesFromItem方法中看到/獲取兩個列的值。

請在下面檢查鏈接瞭解更多信息。

http://www.telerik.com/community/forums/aspnet-ajax/grid/reading-read-only-column-in-ragdrid-update.aspx

1

我已經通過從GridBoundColumn只讀屬性解決了這個,而是,禁用在DataGrid的ItemDataBound事件中的可編輯文本框。

ASPX

<telerik:GridBoundColumn DataField="BillingRate" HeaderText="Rate" /> 

ASPX.VB

​​3210
相關問題