2014-04-26 3 views
0

Как заполнить DropDown из базы данных? У меня есть слой UI и BLL и sp, но не могу его заполнить. Выпадающее имя - «DrpdwnComplainantTypes». Я делал такие вещи много раз, но не в этот раз. Помоги пожалуйста.Fillling drop down box from BLL

protected void btnSave_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      ComplainantBizz comBizz = new ComplainantBizz(txtName.Text, txtCNIC.Text, txtAddress.Text, txtContact.Text, Convert.ToInt32(DropdwnCompType.SelectedValue)); 
      ManageComplainant mngComplainantType = new ManageComplainant(); 

      bool Result = mngComplainantType.Insert(comBizz); 


      if (Result == true) 
      { 
       HiddenFieldSetMessage.Value = "Saved"; 
       HiddenFieldShowMessage.Value = "True"; 
       Clear(txtName); 
      } 
      else 
      { 
       HiddenFieldSetMessage.Value = "RecordAlreadyExists"; 
       HiddenFieldShowMessage.Value = "True"; 
      } 
     } 
     catch (Exception) 
     { 
      HiddenFieldSetMessage.Value = "NotSaved"; 
      HiddenFieldShowMessage.Value = "True"; 
     } 
    } 

BLL:

public DataTable FillDropDown() 
     { 
      SqlCommand cmd = new SqlCommand("SelectAllComplainants_SP", DataBaseConnection.OpenConnection()); 
      cmd.CommandType = CommandType.StoredProcedure; 
      //SqlParameter pName = new SqlParameter("@Name", comBizz.Name); 
      //cmd.Parameters.Add(pName); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      da.Fill(ds); 
      DataBaseConnection.CloseConnection(); 
      return ds.Tables[0]; 
     } 

SP: Это SP, который я звоню.

alter PROCEDURE SelectAllComplainantTypes_SP 


AS 
BEGIN 

    Begin Try 
     Select * from ComplainantTypes 
    End Try 
    Begin Catch 
    Select ERROR_MESSAGE() as ErrorMsg 
    End Catch 

END 
GO 

ответ

0

вы должны связать DataTable возвращения из вашей функции DROPDOWNLIST как в

dropdonlist.datasource=FillDropDown(); 
dropdownlist.datatextfield="yourTextColum";//in example column name "City" 
dropdownlist.dataValueFiedl="yourValueColumn";//in example cloum name "ID" 
dropdownlist.databind(); 

что все

Примечание: если вы будете возвращать нуль из вашей функции вы сгенерирует исключение, если нет данные были возвращены, данные не будут отображаться в выпадающем списке