DropDownList中的数据已经填充好了,数据如下1   苹果
2   梨
3   香蕉
当单击DropDownList(比如说单击 “1   苹果”一栏)时,要求显示的是“1”而不是显示“1  苹果”我曾经试过改变它的SelectedItem.Text="1";  可是这样填充的数据也会改变,请问大家有什么好的方法吗?谢谢

解决方案 »

  1.   

    autopostback设置成TRUE,每次提交后都从新添一下,用VIEWSTATE保存选择的值,添从的时候就添VALUE
    VALUE (1。2。3),
      

  2.   

    可以在dropdownList对象上面加2个属性 ,专门临时存储当前的选择项的值和选择的Index,在选定的时候,将这些值临时存入到这两个属性当中,选择其他的时候,如果临时存储单元中有值,先让其还原,在设置未当前选定的值
      

  3.   

    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
            Dim i As Integer
            viewstate("sel") = DropDownList1.SelectedValue
            DropDownList1.Items.Clear()
            Dim ft(2) As String
            Dim fv(2) As String
            ft(0) = "app"
            ft(1) = "ban"
            ft(2) = "org"
            fv(0) = "1"
            fv(1) = "2"
            fv(2) = "3"
            DropDownList1.Items.Add("")
            For i = 0 To ft.Length - 1
                If fv(i).Equals(CStr(viewstate("sel"))) Then
                    DropDownList1.Items.Add(fv(i))
                Else
                    DropDownList1.Items.Add(ft(i) & fv(i))
                End If
                DropDownList1.Items(DropDownList1.Items.Count - 1).Value = fv(i)
            Next
        End Sub
     If Not IsPostBack Then
                          Dim ft(2) As String
                Dim fv(2) As String
                ft(0) = "app"
                ft(1) = "ban"
                ft(2) = "org"
                fv(0) = "1"
                fv(1) = "2"
                fv(2) = "3"
                DropDownList1.Items.Add("")
                For i = 0 To ft.Length - 1
                    DropDownList1.Items.Add(ft(i) & fv(i))
                    DropDownList1.Items(DropDownList1.Items.Count - 1).Value = fv(i)
                Next
            End If
      

  4.   

    private void DropDownListTYPE_content()
    {
    System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
    String Sql="SELECT NAME,ID FROM TYPE WHERE (DEL_FLAG = 0) AND (ID > 1)";
    System.Data.SqlClient.SqlDataAdapter Da=new SqlDataAdapter(Sql,cn);
    System.Data.DataSet ds= new DataSet();
    cn.Open();
    Da.Fill(ds,"TYPE");
    System.Data.DataView vw=new DataView(ds.Tables["TYPE"]);
    cn.Close(); this.DropDownListTYPE.DataSource=ds.Tables["TYPE"].DefaultView;
    this.DropDownListTYPE.DataValueField=ds.Tables["TYPE"].Columns[1].ColumnName;
    this.DropDownListTYPE.DataTextField=ds.Tables["TYPE"].Columns[0].ColumnName.Substring(1,1);
    this.DropDownListTYPE.DataBind();
    }