2011-01-08 3 views

答えて

5

Conn.Open(); 
SQL = "SELECT distinct city FROM MEN"; 
dsView = new DataSet(); 
adp = new SqlDataAdapter(SQL, Conn); 
adp.Fill(dsView, "MEN"); 
adp.Dispose(); 

DropDownList1. ?????? (what do to ?) 

感謝。

データソースはほとんどすべてIEnumerableである可能性があり、テキストと値はリフレクションで検索されます。

キャッチしたいイベントは、SelectedIndexChangedイベントです。これは、選択を変更すると発生します。

+0

+1です。 b)私の答えはこの良いではありません – naveen

+0

助けてくれてありがとう、私は任意のサンプルコードを得ることができますか? – Gold

+1

@ゴールド - ほとんどのリンクには例があります。 – Oded

1

簡単なサンプルコード:

DropDownList.DataSource = yourDataSource; 
DropDownList.DataTextField = "displayNameColumnName "; 
DropDownList.DataValueField = "TheValueColumnName"; 
DropDownList.DataBind(); 
0

これは、この場合、あなたのための完全なウォークスルーすることができます

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     BindDropDownLists(); 
    } 
} 

protected void Page_Init(object sender, EventArgs e) 
{ 

     SqlDataSource sqlDS = new SqlDataSource(); 
     sqlDS.ConnectionString = ConfigurationManager.ConnectionStrings[0].ToString(); 
     sqlDS.SelectCommand = "select GenderID,Gender from mylookupGender"; 
     form1.Controls.Add(sqlDS); 

     DropDownList ddl = new DropDownList(); 
     ddl.ID = "dddlGender"; 
     ddl.DataSource = sqlDS; 
     ddl.DataTextField = "Gender"; 
     ddl.DataValueField = "GenderID"; 
     form1.Controls.Add(ddl); 

     // ... Repeat above code 9 times or put in a for loop if they're all the same... 
} 

private void BindDropDownLists() 
{ 
    foreach (Control ctl in form1.Controls) 
    { 
     if (ctl is DropDownList) 
     { 
      (ctl as DropDownList).DataBind(); 
     } 
    } 
} 
2

まず、次のコードがお手伝いしますデータセット で詳細を取ります:

DropDownList1.DataSource = ds 
DropDownList1.DataTextField = "emailid" 
DropDownList1.DataValueField = "userid" 
DropDownList1.DataBind() 
DropDownList1.Items.Insert(0, New ListItem("select", "-1")) 
0
//...Wrote separate class for calling this function 
FunctionClass obj = new FunctionClass(); 
List<Designation> details = new List<Designation>(); 
bool result1 = obj.DataDrop(out details); 
if (result1 == true) 
{ 
dropDownDesignation.DataSource = details; 
dropDownDesignation.DataTextField = "designation"; 
dropDownDesignation.DataValueField = "Designation_ID"; 
dropDownDesignation.DataBind(); 
dropDownDesignation.Items.Insert(0, new ListItem("--Select--", "0")); 
} 

//..This function wrote inside FunctionClass and called from aspx.cs page 
public bool DataDrop(out List<Designation> designationDetails) 
{ 
designationDetails = new List<Designation>(); 
conn = new SqlConnection(connectionName); 
conn.Open(); 
command.Connection = conn; 
command.CommandType = CommandType.StoredProcedure; 
command.CommandText = "DesignationDetails"; 
userReader = command.ExecuteReader(); 
if(userReader.HasRows) 
{ 
    while(userReader.Read()) 
{ 
    designationDetails.Add(new Designation() 
    { 
      designationId=userReader.GetInt32(0), 
      designation=userReader.GetString(1) 
     }); 
} 
} 
return true; 
} 
//..This should declare outside the class but inside the namespace 
public class Designation 
{ 
public int designationId { get; set; } 
public string designation { get; set; } 
} 
0

ドロップダウンリストをバインドする別の方法は、

<asp:DropDownList ID="ddlCity" runat="server" DataValueField="pkId" DataTextField="cityName" DataSourceID="sqlDB"> 
    </asp:DropDownList> 
    <asp:SqlDataSource ID="sqlDB" ConnectionString='$Name of connecitonstring' runat="server" SelectCommand="Select * from tbl_City"></asp:SqlDataSource> 
関連する問題