Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: So sánh text với danh sách các item trong combobox C#?

  1. #1
    Ngày gia nhập
    04 2012
    Bài viết
    11

    Question So sánh text với danh sách các item trong combobox C#?

    Mình dùng vòng lặp for để so sánh 1 chuỗi string với các item trong combobox mà không được!
    Các bro chỉ mình với!!!
    Thank!

  2. #2
    Ngày gia nhập
    06 2011
    Bài viết
    277

    bạn phải show code lên mọi người mới thấy bạn sai thế nào chứ?

    nếu muốn so sánh thì bạn chỉ cần lấy giá trị text của từng item trong combobox rùi so sánh với chuỗi string là đc mà!!
    Sống là để cho đi và ...... Nhận lại

  3. #3
    Ngày gia nhập
    04 2012
    Bài viết
    11

    code của mình đây, mọi người xem giúp nha, mình làm nhiều cách rồi mà vẫn không so sánh được, không lấy được giá trị trong comboBox1 để so sánh.
    private bool kiemtra2()
    {
    SqlCommand command = new SqlCommand();
    command.Connection = con;
    command.CommandType = CommandType.Text;
    command.CommandText = "Select * From Muon_Tra";
    da.SelectCommand = command;
    da.Fill(dtkt);
    comboBox1.DataSource = dtkt;
    comboBox1.DisplayMember = "Mã sách";
    comboBox1.ValueMember = "Mã sách";
    comboBox1.SelectedValue = "Mã sách";
    for (int i = 0; i < comboBox1.Items.Count; i++)
    {
    if (comboBoxMaSach.Text == comboBox1.Items[i].ToString())
    {
    kt2 = false;
    break;
    }
    else
    kt2 = true;
    }
    return kt2;
    }

  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    cái này dùng Foreach xem ra gọn hơn đó :-?

  5. #5
    Ngày gia nhập
    04 2012
    Bài viết
    11

    Bạn có thể nói cụ thể không, mình chưa dùng foreach bao giờ cả!

  6. #6
    Ngày gia nhập
    07 2011
    Nơi ở
    Modova
    Bài viết
    123

    Mặc định So sánh text với danh sách các item trong combobox C#?

    Trích dẫn Nguyên bản được gửi bởi princelonely9x Xem bài viết
    Bạn có thể nói cụ thể không, mình chưa dùng foreach bao giờ cả!
    Bạn không cần phải dùng foreach(), bạn chỉ cần sửa như sau:
    Visual C# Code:
    1. private bool kiemtra2()
    2. {
    3.     bool kt2;
    4.     kt2 = true;
    5.     SqlCommand command = new SqlCommand();
    6.     command.Connection = con;
    7.     command.CommandType = CommandType.Text;
    8.     command.CommandText = "Select * From Muon_Tra";
    9.     da.SelectCommand = command;
    10.     da.Fill(dtkt);
    11.     comboBox1.DataSource = dtkt;
    12.     comboBox1.DisplayMember = "Mã sách";
    13.     comboBox1.ValueMember = "Mã sách";
    14.     comboBox1.SelectedValue = "Mã sách";
    15.     for (int i = 0; i < comboBox1.Items.Count; i++)
    16.         if (comboBoxMaSach.Text == comboBox1.Items[i].ToString())
    17.         {
    18.             kt2 = false;
    19.             break;
    20.         }
    21.     return kt2;
    22. }

    Bạn chú ý dòng khai báo biến kt2 và gán nó bằng true, trong vòng for của bạn phải bỏ phần else của if đi.
    A good beginning and a good ending !

  7. #7
    Ngày gia nhập
    04 2012
    Bài viết
    11

    Mình cũng đã từng làm như thế rồi, nhưng không được. Mình đã khai báo biến bool kt2 là biến toàn cục rồi!
    Mình đặt breakpoint tại lệnh if để xem các giá trị, nhưng lúc nào giá trị của combobox1 cũng là "" cả.
    Ai biết cách sửa lỗi này giúp mình với!

  8. #8
    Ngày gia nhập
    07 2011
    Nơi ở
    Modova
    Bài viết
    123

    Trích dẫn Nguyên bản được gửi bởi princelonely9x Xem bài viết
    Mình cũng đã từng làm như thế rồi, nhưng không được.
    Mình đặt breakpoint tại lệnh if để xem các giá trị, nhưng lúc nào giá trị của combobox1 cũng là "" cả.
    Ai biết cách sửa lỗi này giúp mình với!
    Đó là do phần code phía trước của vòng for đã làm cho bạn bị như vậy, chứ không phải do vòng for gây ra. Bạn hãy rà soát kỹ phần đó, mình không làm về SQL nên không thể giúp bạn phần đó được, mình nghĩ bạn nên để phần code đó vào trong sự kiện Form_Load() để get data cho ComboBox1. Còn hàm kiemtra2() bạn chỉ cần viết như sau:

    Visual C# Code:
    1. private bool kiemtra2()
    2. {
    3.     bool kt2;
    4.     kt2 = true;
    5.     for (int i = 0; i < comboBox1.Items.Count; i++)
    6.         if (comboBoxMaSach.Text == comboBox1.Items[i].ToString())
    7.         {
    8.             kt2 = false;
    9.             break;
    10.         }
    11.     return kt2;
    12. }
    A good beginning and a good ending !

  9. #9
    Ngày gia nhập
    04 2012
    Bài viết
    11

    Mình đã làm thử như bạn nói nhưng vẫn không được, combobox1.text lúc nào cũng mang giá trị rỗng(""), trong khi mình đã kiễm tra các item trong đó đã lấy chính xác rồi.
    Bạn có biết cách so sánh khác thì chỉ cho mình với.
    Thank!

  10. #10
    Ngày gia nhập
    02 2008
    Bài viết
    15

    Dùng hàm Select của DataTable hoặc Find của BindingSource dễ dàng hơn

Các đề tài tương tự

  1. Database Khi chọn Item trong combobox thì select dữ liệu tương ứng trong csdl vào textbox
    Gửi bởi bluesky30121992 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 08-12-2012, 09:15 PM
  2. sự kiện Lấy item của combobox khi chuộc vào danh sách item ?
    Gửi bởi zalai1992 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 24-08-2012, 04:38 PM
  3. Lấy giá trị từng item trong combobox đã có sẵn
    Gửi bởi hunterxh trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 08-03-2012, 12:29 AM
  4. Cần chỉ giáo Cách lấy value của từng item trong combobox
    Gửi bởi snowscar trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 8
    Bài viết cuối: 07-12-2011, 09:20 AM
  5. Cách sửa dữ liệu một item của combobox trong C#?
    Gửi bởi Chicken2 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 08-04-2011, 10:08 PM

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn