PDA

View Full Version : خاصیت autocomplete یک کمبوباکس از طریق entity framework



salehsam
جمعه 17 آبان 1392, 17:58 عصر
سلام دوستان
چجوری خاصیت autocomplete یک کمبوباکس رو از طریق entity framework فعال کنم؟

khokhan
جمعه 17 آبان 1392, 18:43 عصر
سلام دوستان
چجوری خاصیت autocomplete یک کمبوباکس رو از طریق entity framework فعال کنم؟
.................................................. .....:ناراحت:

private void LoadData()
{
dbsEntities db = new dbsEntities();
var CustomerList = db.zirna;
AutoCompleteStringCollection completeSource = new AutoCompleteStringCollection();

completeSource.AddRange(CustomerList.Select(ar => " " + ar.city).ToArray());
completeSource.AddRange(CustomerList.Select(ar => ar.city).ToArray());
comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
comboBox1.AutoCompleteCustomSource = completeSource;
}

vB.N3T
دوشنبه 18 فروردین 1393, 22:23 عصر
سلام دوستان و مهندسین گرامی

فرض کنیم یه فیلد نام داریم 4 هزار رکورد داره و میخوایم جستجوی انجام بدیم مثلا در کمبوباکس بنویسیم a و هر فیلدی با a بود بیاره و کلمه دوم بزنیم l و در ادامه هر فیلدی که با al بود بیاره
یه چیزی مثل دیکشنری ها که هره کلمه ای رو میزنیم شبیه شو میاره تا به کلمه مورد نظر برسیم
با linq میخوام بنویسم ممنون میشم کمک کنید

valentine093
دوشنبه 18 فروردین 1393, 22:38 عصر
سلام.اگه اطلاعات روdtو (datatable) بریزی و از دستور dataview استفاده کنی حل میشه.



DataView dv = new DataView(dt);
dv.RowFilter = "products_name like '" + product_list_comb.Text + "%'";


product_list_comb.DataSource = dv;
product_list_comb.DisplayMember = dv.Table.Columns["products_name"].ToString();


نام فیلد در جدول products_name
نام کامبوباکس که اطلاعات فیلد رو نشون میده
product_list_comb

vB.N3T
دوشنبه 18 فروردین 1393, 23:17 عصر
DataView dv = new DataView(dt);

dt رو نمیشناسه..

valentine093
سه شنبه 19 فروردین 1393, 00:31 صبح
DataView dv = new DataView(dt);

dt رو نمیشناسه..


dt متغیری از نوع datatable هستش که اطلاعات رو از جدول یا view میگیره و اون رو باید قبلا تعریف کنید.و کدها رو در keyUp کامبو باکس بنویسین

vB.N3T
سه شنبه 19 فروردین 1393, 01:12 صبح
راه دیگه ای نداره ؟؟

valentine093
سه شنبه 19 فروردین 1393, 10:52 صبح
راه دیگه ای نداره ؟؟

الان شما با این کدها چه مشکلی دارین؟کار نمیکنه؟

vB.N3T
چهارشنبه 20 فروردین 1393, 00:11 صبح
dt رو نمیشناسه...تا بحال از این روش استفاده نکردم میشه کد کاملشو بدید ممنون

omid nasri
چهارشنبه 20 فروردین 1393, 10:12 صبح
دوست گرامی : dt همون DataTable می باشد که شما باید اون رو تعریف کنید و مقدار دهی شود، از دوستمون می خوام کد کلی رو بزارن یا اینکه صبر داشته باش تا برات بنویسم و اینجا قرار می دم تا دوستان استفاده کنند.

omid nasri
چهارشنبه 20 فروردین 1393, 10:20 صبح
اینم کد نهای : مشکلی بود بهم پخ بده : omid8nasri@yahoo.com


using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Xml;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

SqlConnection con = new SqlConnection(@"Data Source=OMID\EST;Initial Catalog=SQL_SERVER;Integrated Security=True");
DataTable dt = new DataTable("tbl_test");


private void Form1_Load(object sender, EventArgs e)
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from tbl_test",con);
da.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}


private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(dt);
dv.RowFilter = "username like '" + product_list_comb.Text + "%'";




product_list_comb.DataSource = dv;
product_list_comb.DisplayMember = dv.Table.Columns["username"].ToString();
}
}
}