0

私は次のことを達成しようとしています:

  1. FormView’sデフォルトの編集リンク ボタンを削除します。

  2. 現在のデータと追加の DDL データを選択してFormView、編集モードで表示します。Page_Load

id = x現在、DDLを現在のデータベース値などに基づいてバインドするために、次のものがあります。

<asp:DropDownList ID="DropDownList1" runat="server"
SelectedValue='<%# Bind("xxx") %>' 
DataSourceID="xxx"
DataTextField="xxx"
DataValueField="xxx"
ondatabound="DropDownList1_DataBound">

C# コードを使用して、選択用の DDL リスト項目を追加するためにこれを行います (データが既にデータベースにあるため、これはエネルギーの無駄です!)

protected void DropDownList1 _DataBound(object sender, EventArgs e)
{
     DropDownList DropDownList1 = (DropDownList)FormView1.FindControl("DropDownList1");
     DropDownList1.Items.Insert(1, new ListItem("0 - 1 km/h", "0"));
     DropDownList1.Items.Insert(2, new ListItem("2 - 5 km/h", "1"));
     DropDownList1.Items.Insert(3, new ListItem("6 - 11 km/h", "2"));
     DropDownList1.Items.Insert(4, new ListItem("12 - 19 km/h", "3"));
     DropDownList1.Items.Insert(5, new ListItem("20 - 28 km/h", "4"));
}

もっと良い方法があるに違いない!

4

1 に答える 1

0

データベースにどのように接続しているか正確にはわかりませんが、datacontext linqtosqlを使用している場合はそれを行うのに適した方法です。'ddl'にはonLoadイベントがあり、コードビハインドでクエリを使用できます。例えば:

<asp:DropDownList ID="DropDownList1" runat="server"
                  onLoad="DropDownList1_Load"
                  AutoPostBack="true" />

そして、背後にあるコードで:

protected void DropDownList1_Load(object sender, EventARgs e)
{
    YourDataContext db = new YourDataContext();
    var qry = from a in db.table1
              select a;
    foreach(var itm in qry)
    {
        DropDownList1.Items.Add(new ListItem(itm.speedRange.ToString(), itm.id.ToString()));
     db.Dispose();
}
于 2013-01-22T21:57:50.870 に答える