Telerik RadGrid - Как мне по умолчанию редактировать режим? - PullRequest
7 голосов
/ 23 марта 2009

Я хочу сделать элементы моей RadGrid доступными для редактирования при загрузке страницы. Я попробовал оба метода здесь http://www.telerik.com/help/aspnet/grid/grddefaulteditmodeforgriditemsoninitialload.html но ни один из них не имеет никакого эффекта.

Второй метод, например, показанный ниже, где свойство Edit установлено для события ItemCreated, заставляет режим Edit быть установлен в true (проверено отладчиком), но он не влияет на результаты при отображении страницы.

У кого-нибудь есть идеи, что я делаю не так?

protected void RadGrid1_ItemCreated(object sender, Telerik.WebControls.GridItemEventArgs e)
{
    if (!Page.IsPostBack && e.Item is GridEditableItem)
   {
       e.Item.Edit = true;
   }
}

Ответы [ 3 ]

8 голосов
/ 24 марта 2009

Это работает:

for (int i = 0; i < RadGrid1.PageSize; i++)
{
    RadGrid1.EditIndexes.Add(i);
    RadGrid1.Rebind();
}
7 голосов
/ 18 июня 2009

Это также работает:

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    e.Item.Edit = true;
}
1 голос
/ 27 марта 2013

приведенный ниже код можно использовать, если вы хотите сделать, как описано выше, но для дочерних таблиц:

protected void RadGrid1_PreRender(object sender, EventArgs e)  
{  
    foreach (GridDataItem item in RadGrid1.MasterTableView.Items)  
    {  
        if (item.HasChildItems)  
        {  
            GridTableView childTable = (GridTableView)item.ChildItem.NestedTableViews[0];  


            foreach (GridDataItem childitem in childTable.Items)  
            {  

               //Check for the newly inserted row 
               //and set in edit mode 
               //childitem.Edit=true; 
            }  
        }  
    }  
    RadGrid1.MasterTableView.Rebind();  
}  
...