2016-01-07 1 views
2

I Développement d'une application de rendez-vous en ligne à l'aide du serveur asp.net, C# et sql. Je veux lier les deux colonnes dans cette liste déroulante. Dans ma base de données de table ont deux colonnes de MobileNo, LandNo. Je veux que ces valeurs de deux colonnes viennent dans une seule liste déroulante en utilisant C# et asp.net. Ex:Lier deux valeurs de colonnes dans la liste déroulante

Mobileno:97456874532,7523684521 
Landno:0886075123,0886035123 

Résultat dans Dropdown:

97456874532 
7523684521 
0886075123 
0886035123 
+0

quelle version de sql utilisez-vous? – BNN

+0

Il se peut que vous deviez réunir ces deux colonnes. Requête: sélectionnez Mobileno comme numéro de téléphone à partir de l'union de table, puis sélectionnez Landno dans la table. –

+0

Merci Manivannam. Ça fonctionne bien. – Ram

Répondre

0

C'est une sorte de personnalisation que vous voulez faire pour cela, vous devez concate valeur des colonnes dans la requête SQL ou vous pouvez le faire dans le code une fois vous obtenez la collection.

public class ContactNumber 
{ 
    public string MobileNo {get;set;} 
    public string LandNo {get; set;} 
    public string ContacNo { get {retun MobileNo +','+ LandNo;}} 
} 

maintenant obtenir la liste de tous base de données

List<ContactNumber> contacno = = new List<ContactNumber>() 
    { 
     new ContactNumber(){ MobileNo = 1, LandNo = "Jessica"}, 
     new ContactNumber(){ MobileNo = 2, LandNo = "Mandy"} 
    }; 

que assigner cette liste vous déroulant dire lier propriété ContactNo à votre propriété DataTextField de menu déroulant.

+0

Merci Pranay Rana, Merci de partager vos précieuses informations – Ram

+0

@Ram - vous pouvez accepter ou mettre à jour si elle vous a aidé .. –

0

Pour garder les choses simples, je ne vais pas créer un type personnalisé plutôt compter sur un type de construction comme int ou string (tout ce qui répond à vos besoins). . Ici, je suis envisageais téléphone mobile & ne sont intergers et de ne les ajouter dans le code ADO.NET comme ceci: -

public List<int> GetContactInfo() 
{ 
    List<int> contacts = new List<int>(); 
    using (SqlConnection conn = new SqlConnection(CS)) 
    { 
     using (SqlCommand cmd = new SqlCommand("select Mobileno,Landno FROM Demo", conn)) 
     { 
      conn.Open(); 
      using (SqlDataReader reader = cmd.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        contacts.Add(Convert.ToInt32(reader["Mobileno"])); 
        contacts.Add(Convert.ToInt32(reader["Landno"])); 
       } 
      } 
     } 
    } 
    return contacts; 
} 

Ensuite, il suffit d'ajouter cette source de données à votre menu déroulant: -

myDropdown.DataSource = GetContactInfo(); 
myDropdown.DataBind(); 
+0

Merci Rahul Singh. Ça fonctionne bien. – Ram

0

J'espère que vous liez la colonne (numéro de mobile) de la base de données directement à la liste. Si vous aimez cela, seules les valeurs de colonne sont liées à la liste.

Si vous souhaitez lier deux valeurs de colonne ou plus (y compris votre chaîne personnalisée), vous devez gérer cela dans l'événement "OnItemBound" de la liste déroulante.

Dans l'événement "OnItemBound", évaluez les deux valeurs de colonne et créez une chaîne en utilisant ces valeurs évaluées, puis affectez la chaîne nouvellement construite à l'élément de liste.

Il ressemblera à ceci

Item.text = "Mobileno:" + Eval ("Mobileno") ToString() + "" + Eval ("Landno") de ToString();..

Je vais vous expliquer clairement, si vous postez le code que vous avez écrit.

+0

Merci de partager vos précieuses informations. J'ai utilisé la liste de collection. Ça fonctionne bien. Je vais essayer votre code aussi. Merci beaucoup. – Ram