Что такой, я работаю в c# и asp.net. У меня есть dropdownlist как следующий:
<asp:DropDownList ID="DropDownList1" runat="server">
И таблица в sql server, которой мне хотелось бы, что он взял вышеупомянутую стоимость.
Как я могу наполнять dropdownlist с данными в sqlserver?
Пример:
public void dropdownnumero()
{
if (!this.IsPostBack)
{
{
SqlConnection cn = new SqlConnection(strcon);
using (SqlCommand cmd = new SqlCommand("SELECT numero FROM tabla where Estado ='Registrado'"))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = cn;
cn.Open();
DropDownList1.DataSource = cmd.ExecuteReader();
DropDownList1.DataTextField = "Numero";
DropDownList1.DataBind();
cn.Close();
}
}
}
}
AsГ - он, как я это манипулирую в каких-то формулярах, только ты призываешь mГ©todo и он загружает ее тебе informaciГіn желаемая.
public void CargarCbbxSim()
{
//se inicializa un datatable
DataTable dt = new DataTable();
//se crea la coneccion a la b.dd
using (SqlConnection conn = new SqlConnection("Data Source=MXSILWNCN11C04R;Initial Catalog=DPP;Persist Security Info=True;User ID=sa;Password=Mexico2015"))
{//se realiza la consulta
string query = "select distinct NumSem from Semana order by NumSem desc ";
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
//se carga en la variable da
da.Fill(dt);
}
//segun se requiere se puede mostrar un valor y guardar otro y se carga al cbbx
cbbxSimulacion.DisplayMember = "NumSem";
cbbxSimulacion.ValueMember = "NumSem";
cbbxSimulacion.DataSource = dt;
}
Самая подходящая форма состоит в том, чтобы использовать опору ссылки в данные, которых он предоставляет ASP.NET, а именно, через свойство DataSource
Ты можешь находить пример использования в документации контроля в MSDN
В коде HTML ты имел бы:
<asp:DropDownList ID="ColorList" runat="server">
В коде сервера, в событии груза страницы у тебя было бы это:
void Page_Load(Object sender, EventArgs e)
{
// Load data for the DropDownList control only once, when the
// page is first loaded.
if(!IsPostBack)
{
// Specify the data source and field names for the Text
// and Value properties of the items (ListItem objects)
// in the DropDownList control.
ColorList.DataSource = CreateDataSource();
ColorList.DataTextField = "ColorTextField";
ColorList.DataValueField = "ColorValueField";
// Bind the data to the control.
ColorList.DataBind();
// Set the default selected item, if desired.
ColorList.SelectedIndex = 0;
}
}
Консультация в базу данных осуществилась бы в методе CreateDataSource
что было бы сходным это:
ICollection CreateDataSource()
{
string selectQuery = @"select ...";
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(selectQuery, con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(dt);
}
}
}
DataView dv = new DataView(dt);
return dv;
}
Также есть другие более современные "" способы это получать, например используя контроль SqlDataSource или новое свойство SelectMethod
что ввели в.NET 4.5, и что они называют Ссылкой модель и Веб формуляры Forms (здесь у тебя есть статья на испанском языке)
Извините, не много espaГ±ol, но ты можешь делать так:
private void PopulateUnits()
{
public static readonly String SelectUnitsQuery = "Select distinct unit from masterunits";
using (SqlConnection con = new SqlConnection(ConnStr))
{
using (SqlCommand cmd = new SqlCommand(SelectUnitsQuery, con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
((ListBox)checkedListBoxUnits).DataSource = dt;
((ListBox)checkedListBoxUnits).DisplayMember = "Unit";
((ListBox)checkedListBoxUnits).ValueMember = "Unit";
}
}
}
}
Здесь есть checkboxlist так называемый "checkedListBoxUnits", который я наполняю с query "SelectUnitsQuery"