C# 使用新数据源向GridView添加新列

C# 使用新数据源向GridView添加新列,c#,asp.net,C#,Asp.net,我有一个从数据集加载的gridview,其中大多数字段都是通过模板生成的 其中一个是根据数据集返回的值更改的图像。 以下是一个例子: <asp:TemplateField HeaderText="Attention"> <ItemTemplate> <asp:Image ID="alertFlag" runat="server" ImageUrl='<%# Eval("alertFlag").ToString().Equals("True") ?

我有一个从数据集加载的gridview,其中大多数字段都是通过模板生成的

其中一个是根据数据集返回的值更改的图像。 以下是一个例子:

<asp:TemplateField HeaderText="Attention">
  <ItemTemplate>
    <asp:Image ID="alertFlag" runat="server" ImageUrl='<%# Eval("alertFlag").ToString().Equals("True") ? "~/Images/Warning-32.png" : "" %>' />
  </ItemTemplate>
</asp:TemplateField>

现在我有了一个下拉列表,根据选择的内容,会向数据库发出新的请求,并添加新的列,但之前的列必须保留

我应该创建一个新的GridView,或者我应该如何添加新的列,保持它们隐藏,然后在触发适当的事件时显示它们。这包括从数据库加载新数据和绑定到gridview。我如何以编程方式添加上述条件


谢谢。

我想说,您将使用相同的gridview,并将visible列设置为true或false。我建议您在代码背后有一个属性,比如ShowColumnX,它将根据下拉值返回true或false。在aspx中,然后将visible属性绑定到该值,例如
visible=“

如果已将现有列设置为将值正确绑定到数据源的字段,则不必执行与已执行的操作不同的操作,例如在回发时重新绑定数据源