Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Filter DatagridView từ BindingSource

22:32 21-06-2017 3.483 lượt xem 2 bình luận 17:25 22-06-2017

Như tiêu đề, tôi muốn lọc dữ liệu trên datagridview (đã load được dữ liệu lên datagridview) có bindingsource từ khóa nhập vào từ textbox theo cách bên dưới, nhưng vẫn không lọc được, mong ace đồng đạo giúp đỡ

BindingSource BindingFood = new BindingSource();

public fFood()
        {
            InitializeComponent();
            LoadData();
        }

void LoadData()
        {
            dgvFood.DataSource = BindingFood;

            GetListFood();
        }

void GetListFood()
        {
            BindingFood.DataSource = FoodDAO.instance.GetListFood();
        }

private void txbSearch_TextChanged(object sender, EventArgs e)
        {
            if (txbSearch.TextLength > 0)
            {
                string TextSearch = string.Format("[FoodName] LIKE '%{0}%'", txbSearch.Text);
                BindingFood.Filter = TextSearch;
            }
        }

Và đã thử theo cách bên dưới vẫn không được

private void txbSearch_TextChanged(object sender, EventArgs e)
        {
            if (txbSearch.TextLength > 0)
            {
                string TextSearch = string.Format("[FoodName] LIKE '%{0}%'", txbSearch.Text);
                (dgvFood.DataSource as DataTable).DefaultView.RowFilter = TextSearch;      //Lỗi ở dòng này
            }
        }

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 11:57 22-06-2017

Bạn nên gán BindingSource.DataSource = source.

https://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.filter(v=vs.110).aspx

không bao giờ bó tay đã bình luận 17:23 22-06-2017

Đã gán BindingSource.DataSource = source. Nhưng trên datagridview vẫn không lọc được theo ý (gõ từ cần tìm vào txbSearch, và trên daatagridview hiển thị dữ liệu được lọc theo từ khóa). Hiện trong serial Quản Lý Quán Cafe đã có hướng dẫn cách search dữ liệu, nhưng qua nghiên cứu thấy tại sao mình không dùng chức năng filter của Bindingsource? nhưng với code trên thì vẫn chưa có kết quả khả thi (chẳng biết có sai ở chổ nào không?). Ai biết filter từ Bindingsource, đưa kết quả filter lên daatagridview (không cần tạo thêm hàm để lọc dữ liệu từ server) xin chỉ giáo! thanks nhiều!

Câu hỏi mới nhất