динамически заполненный выпадающий список - PullRequest
0 голосов
/ 26 ноября 2009

Я использую следующий код для динамического заполнения выпадающего списка ... я хочу, чтобы это значение было идентификатором субъекта, а текст должен быть sub_desc ... но код не работает значение не содержит sub_ids ... так что не так с кодом ??

(sub_id - целочисленное поле)

 public void Populate()
        {
            string ConnectionString = (string)ConfigurationManager.AppSettings["ConnectionString"];
         SqlConnection conn = new SqlConnection(ConnectionString);
            SqlCommand popCmd = new SqlCommand("select sub_id,sub_desc from subject", conn);
            try
            {
                conn.Open();
                ddlSub.Items.Clear();

                SqlDataReader subs;
                subs = popCmd.ExecuteReader();


                ddlSub.DataSource = subs;
                ddlSub.DataValueField = "sub_id";
                ddlSub.DataTextField = "sub_desc";
                ddlSub.DataBind();
                conn.Close();
            }
            catch (Exception ex)
            {
               lblMsg.Visible = true;
               lblMsg.Text = ex.ToString();

            }

        }

спасибо ...

Ответы [ 2 ]

3 голосов
/ 26 ноября 2009

Можно установить AppendDataBoundItems="true", чтобы гарантировать, что связанные с данными элементы не очищают вставленные вручную элементы списка.

<asp:DropDownList ID="DropDownList" runat="server" AppendDataBoundItems="true">
    <asp:ListItem Value="--Select Subject--" Text="--Select Subject--" Selected="true"></asp:ListItem>
</asp:DropDownList>

Вы также можете сделать это в коде позади.

...
dropSub.Items.Add(new ListItem("--Select Subject--", "0"));
dropSub.AppendDataBoundItems = true;
SqlDataReader subs;
subs = popCmd.ExecuteReader();
ddlSub.DataSource = subs;
ddlSub.DataValueField = "sub_id";
ddlSub.DataTextField = "sub_desc";
ddlSub.DataBind();
conn.Close();
...
0 голосов
/ 26 ноября 2009

Вы можете добавить вас по умолчанию после привязки данных. Вам нужно будет вставить индекс с индексом 0, а не Добавить.

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