Domanda

Voglio fare le voci della mia RadGrid essere modificabile al caricamento della pagina. Ho provato entrambi i metodi qui http://www.telerik.com/help /aspnet/grid/grddefaulteditmodeforgriditemsoninitialload.html ma non hanno alcun effetto.

Il secondo metodo per esempio, mostrato di seguito in cui la proprietà Edit è impostato sull'evento ItemCreated, fa sì che la modalità Edit essere impostata su true (verificata da debugger) ma non ha alcun effetto sui risultati quando viene visualizzata la pagina.

Qualcuno ha qualche idea di cosa sto facendo male?

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

Soluzione

Questo funziona:

for (int i = 0; i < RadGrid1.PageSize; i++)
{
    RadGrid1.EditIndexes.Add(i);
    RadGrid1.Rebind();
}

Altri suggerimenti

Questo funziona anche:

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    e.Item.Edit = true;
}

il codice qui sotto può essere utilizzata se si desidera fare come descritto sopra, ma per tabelle figlio:

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();  
}  
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top