Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改删除命令按钮文本_C#_Asp.net_Devexpress - Fatal编程技术网

C# 更改删除命令按钮文本

C# 更改删除命令按钮文本,c#,asp.net,devexpress,C#,Asp.net,Devexpress,我有一个显示用户信息的网格。我有commandColumn和edit、delete命令。删除意味着将用户状态更改为存档。我想要的是在状态为活动的用户所在的行中使用delete按钮,在状态为archive的用户所在的行中使用restore按钮(可能只是文本中的更改) 如何实现这样的功能?假设您的网格中有一个常规的CommandField,请在加载网格后将以下代码放在任意位置(DataBound事件是一个好地方): 需要注意的是,.Cells(0).Controls(0)部分需要为网格手动确定-可能

我有一个显示用户信息的网格。我有commandColumn和edit、delete命令。删除意味着将用户状态更改为存档。我想要的是在状态为活动的用户所在的行中使用delete按钮,在状态为archive的用户所在的行中使用restore按钮(可能只是文本中的更改)


如何实现这样的功能?

假设您的网格中有一个常规的CommandField,请在加载网格后将以下代码放在任意位置(DataBound事件是一个好地方):

需要注意的是,
.Cells(0).Controls(0)
部分需要为网格手动确定-可能是删除按钮不是第一个单元格中的第一个控件。由于对“删除”按钮的位置进行硬编码使此解决方案变得脆弱,因此实际上最好在网格中使用常规按钮,因为您可以使用FindControl获取对该按钮的引用并更改文本

在网格中:

<asp:TemplateField>
    <asp:Button ID="btnDelete" runat="server" Text="Active" />
</asp:TemplateField>

假设网格中有一个常规CommandField,那么在加载网格后将以下代码放在任意位置(DataBound事件是一个好地方):

需要注意的是,
.Cells(0).Controls(0)
部分需要为网格手动确定-可能是删除按钮不是第一个单元格中的第一个控件。由于对“删除”按钮的位置进行硬编码使此解决方案变得脆弱,因此实际上最好在网格中使用常规按钮,因为您可以使用FindControl获取对该按钮的引用并更改文本

在网格中:

<asp:TemplateField>
    <asp:Button ID="btnDelete" runat="server" Text="Active" />
</asp:TemplateField>

可以使用ASPxGridView的CommandButtonInitialize事件来实现这些任务。有关使用此事件的示例,请访问:

我们的文档中描述了该事件,网址为:

可以使用ASPxGridView的CommandButtonInitialize事件执行此类任务。有关使用此事件的示例,请访问:

我们的文档中描述了该事件,网址为:

您使用的是DataGrid还是GridView?您使用的是DataGrid还是GridView?
foreach (GridViewRow row in MyGridView.Rows) {
    Button deleteButton = row.FindControl("btnDelete");
    if (row != null && !statusOnThisRowIsActive()) {
        deleteButton.Text = "Restore";
    }
}