Telerik RadGrid - Как мне перейти по умолчанию в режим редактирования?
Вопрос
Я хочу, чтобы элементы моей RadGrid были доступны для редактирования при загрузке страницы.Здесь я попробовал оба метода http://www.telerik.com/help/aspnet/grid/grddefaulteditmodeforgriditemsoninitialload.html но ни то, ни другое не имеет никакого эффекта.
Например, 2-й метод, показанный ниже, где свойство Edit устанавливается для события ItemCreated, приводит к тому, что режиму редактирования присваивается значение true (проверяется отладчиком), но это никак не влияет на результаты при отображении страницы.
У кого-нибудь есть какие-нибудь идеи, что я делаю не так?
protected void RadGrid1_ItemCreated(object sender, Telerik.WebControls.GridItemEventArgs e)
{
if (!Page.IsPostBack && e.Item is GridEditableItem)
{
e.Item.Edit = true;
}
}
Решение
Это работает:
for (int i = 0; i < RadGrid1.PageSize; i++)
{
RadGrid1.EditIndexes.Add(i);
RadGrid1.Rebind();
}
Другие советы
Это тоже работает:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
e.Item.Edit = true;
}
приведенный ниже код можно использовать, если вы хотите сделать, как описано выше, но для дочерних таблиц:
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();
}