PDA

View Full Version : سوال: bind کردن combo box



shahlay
دوشنبه 23 شهریور 1388, 00:32 صبح
سلام به همگی
دوستان من میخوام combobox رو هر بار که radiobotun رو انتخاب میکنم با مقادیر فعلی ستونی از جدولم که با sql 2000 طراحی شده پر کنم. از چند تا تاپیک موجود کمک گرفتم اما موفق نشدم.ممنون میشم راهنماییم کنید

atryad
دوشنبه 23 شهریور 1388, 02:32 صبح
سلام به همگی
دوستان من میخوام combobox رو هر بار که radiobotun رو انتخاب میکنم با مقادیر فعلی ستونی از جدولم که با sql 2000 طراحی شده پر کنم. از چند تا تاپیک موجود کمک گرفتم اما موفق نشدم.ممنون میشم راهنماییم کنید

سلام
دوست عزیز توی رویداد
CheckedChanged
کمبو بوکس
اینو بنویسی


systemcomboBox.DataSource = SeniaDB.ComboBoxBind("select Column from Tabel", "Column ");


و کلاس زیر


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
publicclassSeniaDB
{
publicclassDataBaseObject
{

publicDataSet ds = newDataSet();
publicDataTable dt = newDataTable();
publicSqlCommandBuilder cb = newSqlCommandBuilder();
publicSqlCommand sc = newSqlCommand();
publicSqlConnection con = newSqlConnection("Data Source=pc_12;Initial Catalog=DBparking;Integrated Security=True");
publicSqlDataAdapter da;
publicDataRow dr;
publicBindingSource bs;
}
publicstaticBindingSource ComboBoxBind(string Query, string FieldName)
{
DataBaseObject DBO = newDataBaseObject();
try
{
DBO.con.Open();
DBO.da = newSqlDataAdapter(Query, DBO.con);
DBO.da.Fill(DBO.dt);
ComboBox cb = newComboBox();
foreach (DataRow dataRow in DBO.dt.Rows)
{
cb.Items.Add(dataRow[FieldName].ToString());
}
DBO.bs = newBindingSource(cb, "Items");
DBO.con.Close();
return DBO.bs;
}
catch
{
DBO.con.Close();
return DBO.bs;
}
}

}


دوست عزیز تو این کد نام ستون و جدول رو توی دستور سلکت قرار بده و نام سیسستم و دیتابیس رو با سیستم خودت هماهنگ کن

در ضمن میتونی با قرار دادن عبارت



"select distinct Column from Tabel"


به جای عبارت موجود بالا از رکوردهای تکراری صرف نظر کنید
با تشکر

Vahid_moghaddam
پنج شنبه 02 مهر 1388, 13:02 عصر
اگر جدول شما dt باشه و فیلد مورد نظر Last Name:



comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Last Name";

sajadcg
پنج شنبه 15 دی 1390, 11:21 صبح
دوست عزیز معادل این دستور bind برای textbox را به روش linq را اگه امکان داره برای من بزارید.

مرسی