我正在尝试删除默认情况下Telerik RadGrid
中显示的链接。在尝试删除编辑链接之前,这是网格的样子:
我找到了这段代码,用于删除编辑链接:
if (!IsPostBack)
{
foreach (GridItem item in RGV_POI.MasterTableView.Items)
{
if (item is GridEditableItem)
{
GridEditableItem editableItem = item as GridDataItem;
editableItem.Edit = true;
}
}
RGV_POI.Rebind();
}
这就是网格对代码的看法:
编辑链接仍显示在第一个项目上。有没有办法删除RadGrid中每个项目的编辑,更新和取消链接?我希望能够使用按钮单击事件删除/禁用链接。然后,可以使用按钮单击事件添加/启用链接。
答案 0 :(得分:0)
我不知道Telerik RadGrid控件,但是肯定控件应该继承asp:GridView
。您可以在RowDataBound
事件中显示链接。在这里你可以做到这一点。
在网格视图上添加OnItemDataBound="Grid_ItemDataBound"
。
在背后的代码中:
protected void Grid_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Item.DataItem == null)
return;
//cell of all the link button edit/update etc.
TableCell cell = e.Item.Cells[//index of the column];
foreach(Control c in cell.Controls)
{
c.Visible = false;
}
}
您应该以某种方式检查取消,编辑,更新按钮的ID。您可能应该提供有关aspx中控件的更多信息。
修改强>
使用其文档中存在的OnItemDataBound
事件:http://www.telerik.com/help/aspnet-ajax/events_t_telerik_web_ui_radgrid.html
答案 1 :(得分:0)
RadGrid中的编辑链接按钮实际上是一个列本身,特别是GridEditCommandColumn
。为了在单击按钮时显示/隐藏它,您必须在click事件处理程序中以编程方式重建所有列,包括或根据需要排除GridEditCommandColumn
。当以声明方式创建网格的其余部分时,无法以编程方式添加或删除单个列。如果我们能够在应用程序中看到更多如何声明和构建网格,那将非常有用。
Creating a RadGrid Programatically
但是,可以更改GridEditCommandColumn.Display
属性。如果您可以获取列本身的句柄,而不是单个单元格,则可以根据需要在按钮单击事件中对其进行调整。
答案 2 :(得分:0)
如果您不希望项目可编辑,则应删除GridEditCommandColumn。另一种选择是通过其Visible / Display属性更改其在服务器上的可见性。您可以使用网格的GetColumnSafe(columnName)方法获取neded引用:http://www.telerik.com/help/aspnet-ajax/grid-using-getitems-getcolumn-methods.html
要摆脱更新/取消按钮,您可以使用自定义模板,但如果您的网格不可编辑,我不明白为什么您需要这样做:http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/form-template-update/defaultcs.aspx