使用新的DataSource向GridView添加新列

时间:2011-08-02 13:16:51

标签: c# asp.net

我有一个从DataSet加载的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。我将如何以编程方式添加上述条件?

感谢。

1 个答案:

答案 0 :(得分:0)

我会说你将使用相同的gridview并将可见集的列设置为true或false。我建议您在后面的代码中有一个属性,例如ShowColumnX,它将根据下拉值返回true或false。在aspx中,您将可见属性绑定到该值,例如Visible="<%= ShowColumnX %>"

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