C# 从RadGrid中删除编辑、更新和取消链接
我正在尝试删除默认情况下在Telerik RadGrid中显示的链接。以下是我尝试删除编辑链接之前网格的外观:C# 从RadGrid中删除编辑、更新和取消链接,c#,asp.net,telerik,radgrid,rad-controls,C#,Asp.net,Telerik,Radgrid,Rad Controls,我正在尝试删除默认情况下在Telerik RadGrid中显示的链接。以下是我尝试删除编辑链接之前网格的外观: if (!IsPostBack) { foreach (GridItem item in RGV_POI.MasterTableView.Items) { if (item is GridEditableItem) {
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();
}
我发现了这段代码,它用于删除编辑链接:
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中每个项目上的编辑、更新和取消链接?我希望能够删除/禁用链接,使用按钮点击事件。然后可以使用按钮单击事件添加/启用链接。我不知道Telerik RadGrid控件,但可以肯定该控件应该继承
asp:GridView
。您可以使链接在RowDataBound
事件中不可见。这是你怎么做的
在网格视图中添加OnItemDataBound=“Grid\u 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
事件,它存在于他们的文档中:RadGrid中的编辑链接按钮实际上是一个列本身,特别是一个GridEditCommandColumn
。为了在按钮单击事件中显示/隐藏此内容,您必须在单击事件处理程序中以编程方式重新生成所有列,包括或排除所需的GridEditCommandColumn
。当以声明方式创建网格的其余部分时,不能以编程方式添加或删除单个列。如果我们能够更多地了解网格是如何在应用程序中声明和构建的,这将非常有用
可以更改
GridEditCommandColumn.Display
属性。如果可以获得列本身的句柄,而不是单个单元格,则可以在按钮单击事件中根据需要进行调整。如果不希望项目可编辑,则应删除GridEditCommandColumn。另一个选项是通过其Visible/Display属性更改其在服务器上的可见性。可以使用网格的GetColumnSafe(columnName)方法获取neded引用:
要去掉“更新/取消”按钮,您可以使用自定义模板,尽管我不明白如果网格不可编辑,您为什么需要这样做:您当前的代码似乎只是使行可编辑,而不是删除“编辑”链接。这就是为什么会显示更新/取消。这就是你的意图吗?@LogicaLInsanity不,我想让它们不可编辑,但我明白你现在说的。即使我将其设置为false,编辑按钮仍会向上显示此处不是的RowDataBound事件RadGrids@nate在这种情况下,请尝试使用ItemDataBound@nate我在代码中做了更改检查,你应该只看到哪个索引有控制权。现在我得到错误“无法解析符号‘cell’”@nate man我输入了一个错误。。。它应该是TableCell cell=e.Item.Cells[//列的索引];,not TableCell cell-e.Item.Cells[//列的索引];。Change-with=。我想在web表单加载时删除编辑链接,然后在用户需要更改数据时启用它。您如何知道用户需要更改数据?在服务器上还是在客户端上?我们已经展示了如何在服务器上删除/添加这些链接按钮。下面是如何用JavaScript隐藏列:好的,我该怎么做。第一个示例演示如何通过编程定义列并将数据绑定到它们。他们在page_Load事件中执行此操作。您必须在按钮单击事件中执行此操作。