Привязка данных DropDownList в C # / ASP.NET - PullRequest
1 голос
/ 16 августа 2011

У меня есть страница search.aspx, которая имеет это:

  <asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid">
                </asp:DropDownList>

У меня тогда есть привязка данных на page_load:

 StringBuilder sql = new StringBuilder();

    // Define sql
    sql.Append("SELECT pid, population ");
    sql.Append("FROM populations ");
    sql.Append("ORDER BY pid ASC ");

   IDataReader reader = SqlHelper.GetDataReader(sql.ToString());

    ddlPopulation.DataSource = reader;
    ddlPopulation.DataBind();

Как мне:

  1. Добавить значение по умолчанию / текстовую пару в список, отсутствующий в базе данных, как Все популяции?
  2. Как я могу выполнить замену строки в поле данных о населении, прежде чем она отобразится на экране?

1 Ответ

6 голосов
/ 16 августа 2011

Добавьте элементы списка в раскрывающийся список.

<asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True">
    <asp:ListItem>Default</asp:ListItem>
</asp:DropDownList>

AppendDataBoundItems принудительно добавит элементы данных в список, который уже существует.Таким образом, ваш элемент по умолчанию останется.

Что касается замены текста, вы можете либо сделать их в SQL, либо использовать DataSets / DataViews вместо простого SQL, либо связать его со списком ваших собственных объектов, гдеможете делать все, что вы хотите, или создать метод для события ItemDataBound раскрывающегося списка, где у вас должен быть доступ для редактирования информации до ее привязки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...