DropDownList в привязке FormView

посмотрим, может ли это помочь вам Удалить границу

или, может быть, это

Border emptyBorder = BorderFactory.createEmptyBorder();
yourButton.setBorder(emptyBorder);

11
задан abatishchev 12 November 2011 в 17:33
поделиться

2 ответа

Создан пример, который устанавливает раскрывающийся список в событии DataBound.
Вот разметка
Способ использования ddl - найти его с помощью findcontrol () во время события DataBound.
Если у вас есть элемент управления в событии DataBound, вы также можете привязать раскрывающийся список к вашему списку <>
Надеюсь, это поможет.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>

        </div>
        <asp:FormView ID="FormView1" runat="server" ondatabound="FormView1_DataBound">
            <ItemTemplate>
                <asp:DropDownList ID="DropDownList1" runat="server">
                    <asp:ListItem>One</asp:ListItem>
                    <asp:ListItem>Two</asp:ListItem>
                    <asp:ListItem>Three</asp:ListItem>
                </asp:DropDownList>

            </ItemTemplate>
        </asp:FormView>
        </form>
    </body>
    </html>

Вот код:

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<string> list = new List<string>();
            list.Add("Some");
            list.Add("Other");

            FormView1.DataSource = list; //just to get the formview going

            FormView1.DataBind(); 

        }

        protected void FormView1_DataBound(object sender, EventArgs e)
        {
            DropDownList ddl = null;
            if(FormView1.Row != null)
                ddl = (DropDownList) FormView1.Row.FindControl("DropDownList1");
            ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue("Two"));
        }
    }
}
5
ответ дан 3 December 2019 в 10:05
поделиться

Вы можете заполнить DropDownList другим источником данных, если допустимые значения находятся в базе данных. Посмотрите это видео:

http://msdn.microsoft.com/en-us/data/cc546554.aspx

В нем используется EntityDataSource вместо ObjectDataSource, но принцип все равно должен работать.

Если вам нужен вариант типа "(none)" для null, смотрите раздел "Преобразование Null в полях шаблона" на этой странице:

http://msdn.microsoft.com/en-us/library/ms366709.aspx

В частности:

<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource2"
    DataTextField="Name" DataValueField="EmployeeID"
    SelectedValue='<%# Bind("ReportsTo") %>' AppendDataBoundItems="True">
        <asp:ListItem Selected="True" Value="">(none)</asp:ListItem>
</asp:DropDownList>

Обратите внимание на атрибут "AppendDataBoundItems" и элемент "asp:ListItem".

4
ответ дан 3 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: