如何动态生成按钮

时间:2012-02-21 20:03:03

标签: c# asp.net c#-4.0

我有一张包含一些记录的表格。我的桌子就像这样

WFID clientID WorkflowName      workflowsteps                    completedstep 
12     15       print       cutting,printing,lamination             -

工作流程将根据工作流程名称而有所不同。

completedstep列中,它会显示已完成的步骤。例如:如果完成切割和打印,则会显示切割,打印

现在我想创建名称为cutting,printing,lamination的动态按钮 默认情况下,所有按钮都将被禁用,只有第一个按钮启用并可点击,如果我按下第一个按钮“切割”,那么它的颜色应该变为红色,下一个“打印”按钮将被启用。每个动态按钮都会重复相同的过程。

如何在ASP.net中执行此操作? :)

1 个答案:

答案 0 :(得分:0)

将切割按钮放在completedstep列中。将您的代码放在gridviewrow创建的事件中,并仅启用第一个按钮。在切割按钮后也保持打印按钮使其显示为false。创建一个cutbuttonclick事件处理程序方法来处理打印按钮的可见性。

对于动态按钮,在网格中放置一个面板或占位符。然后从代码隐藏创建按钮并将其添加到面板或占位符。 将此代码放在gridviewrowcreated事件中。

Panel panel1=(Panel)e.Row.FindControl("PanelinsideGrid");
Button dynbtn = new Button();
dynbtn.Text = "Button Name";
panel1.Controls.Add(dynbtn)