我在 ASP.NET 中使用 C# 的 GridView。我在运行时将 Templatete 字段列添加到 GridView,列已成功添加,行中包含所需的文本。但是填充 GridView 后执行任何按钮单击事件控件从行中删除,在行中我在 Templete 字段中有 Literal 和 Textbox 控件作为 ItemTempete.....
任何帮助...
<asp:GridView runat="server" ID="gridView">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lnkTest"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
然后在您的 rowdatabound 事件中您可以找到它并执行您想要的操作
void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Entity entity = e.Row.DataItem as Entity;
LinkButton lnkTest = e.Row.FindControl("lnkTest") as LinkButton;
lnkTest.CommandArgument = entity.ID.ToString();
lnkTest.Text = entity.Name;
}
}
要在 ASP.NET 中运行时向 GridView 添加新的模板列,您可以创建一个新的 TemplateField 并定义其属性,包括项目模板,它指定应如何显示数据。以下是如何在代码隐藏中执行此操作的基本示例:
TemplateField templateField = new TemplateField();
templateField.HeaderText = "New Column";
templateField.ItemTemplate = new CustomTemplate(ListItemType.Item);
GridView1.Columns.Add(templateField);
您还需要定义实现 ITemplate 的 CustomTemplate 类,以控制数据在该列中的呈现方式。这允许您自定义新列中每个单元格的内容。