Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: [Giúp đỡ] - Làm thế để xóa item đã tồn tại trong Listbox

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

    Mặc định [Giúp đỡ] - Làm thế để xóa item đã tồn tại trong Listbox

    chào cả nhà
    tình hình là như thế này,
    mình có làm một cái bài tập nhỏ về Listbox

    cụ thể như sau,
    mình có một
    DropDownList với tên là ListBanh, cái này sẽ chứa danh sách tên bánh cho mình chọn
    DropDownList với tên là ListSoLuong, cái này sẽ chứa dãy số từ 1- 100 chính là số lượng bánh cần chọn
    Listbox ListBanhChon, cái này sẽ chứa tên bánh số lượng bánh theo định dạng
    tenbanh(soluongbanh)

    bây giờ có phát sinh lỗi sau,
    đầu vào hiện giờ mình có bánh Quy Sữa , số lượng = 5
    mình nhấn vào btnChonbanh thì ListBanhChon sẽ có item bánh Quy Sữa(5)
    bây giờ nếu mình tiếp tục nhấn vào btnChonbanh Thì ListBanhChon có một item mới là bánh Quy Sữa (5)
    tức là có các item sau

    bánh Quy Sữa(5)
    bánh Quy Sữa(5)
    => sẽ có hai item giống nhau-> cần phải cộng chúng lại về số lượng và xóa đi một cái item
    để giải quyết vấn đề cùng tồn tại hai item trên và cộng lại số lượng của hai item trên và xóa bớt một item
    thì mình làm cách sau

    đầu tiên mình cắt chuỗi ra thành tên bánh và số lượng bánh, sau đó mình so sánh đầu vào với item đã có
    nếu chúng có tên bánh giống nhau thì cộng lại số lượng và so sánh
    sau đó delete cái item cũ đi
    mình delete bằng cách, cứ mỗi lần so sánh item giống nhau thì mình sẽ add chúng lại thành một chuỗi sau đó lại cắt chúng ra và delete chúng !
    nhưng mình làm hoai ko được
    bạn nào có ý kiến gì hay giúp với

    Project mình đính kèm bên giớ mọi người giúp đỡ với
    Attached Files Attached Files
    tiền là phù du
    hết tiền là phù mỏ

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

    trước khi add bạn listbox.clear.
    xong sau dó bạn so sanh điều kiện, chạy For để quét qua tất cả item trong listbox

    if(listbox.item[i].text.Equal(giá trị muốn add)
    thì update lại số lượng trên sản phẩm đó
    else
    add mới

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

    cảm ơn bạn
    vậy giả sử trong listbox đã có 1 item khác thì sao
    vì phương thức listbox.clear đã delete toàn bộ rồi
    tiền là phù du
    hết tiền là phù mỏ

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

    tất nhiên bạn phải đảm những dữ liệu mà bạn add vào listbox fai đc lưu giữ trong 1 cái mảng nào đó chứ, khi so sánh hay xử lý 1 vấn đề thì get ra mà dùng

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

    Mình tìm ra cách rồi
    đó là minh làm như sau
    đầu tiên tớ sẽ tạo một item mới có tên là OldItem
    OldItem sẽ lưu giữ thông tin của item cũ, sau đó sử dụng phương thức Listbox.Item.FindByText(value)(OldItem)
    rồi remove nó ra và cập nhật lại số lượng item có trong list, lặp như thế cho đến hết các item có giá trị cần tìm
    sau đó thoát vòng lặp và add cái item mới vào
    đây là cái code của tớ
    Code:
    soluong = int.Parse(ListSoLuong.SelectedItem.Value.ToString());
                string newcandy = null,currentcandy = null;
                newcandy = ListBanh.SelectedItem.Value.ToString() + "(" + soluong.ToString() + ")";
                int n = Listbanhchon.Items.Count;
                ListItem oldItem = new ListItem();
                ListItem currentItem = new ListItem();
                string arrayItem = newcandy+",";
                for (int i = 0; i < n; i++ )
                {
                    if (cpn.GetStringName(Listbanhchon.Items[i].Text.ToString()).Trim()
                        == cpn.GetStringName(newcandy).Trim())
                    {
                        int oldnumber = int.Parse(cpn.Getvalues(Listbanhchon.Items[i].ToString()));
                        soluong += oldnumber;
                        oldItem = Listbanhchon.Items[i];
                        oldItem.Text = Listbanhchon.Items.FindByText(oldItem.Text.ToString()).Text = 
                        ListBanh.SelectedItem.Value.ToString() + "(" + soluong.ToString() + ")";
                        Listbanhchon.Items.Remove(oldItem);
                        n = Listbanhchon.Items.Count;
                    }                
                }
                currentcandy = ListBanh.SelectedItem.Value.ToString() + "(" + soluong.ToString() + ")";
                Listbanhchon.Items.Add(currentcandy);
    chạy rất giống như những gì mình mong muốn L:X
    tiền là phù du
    hết tiền là phù mỏ

  6. #6
    Ngày gia nhập
    11 2010
    Bài viết
    33

    Arrow [Giúp đỡ] - Làm thế để xóa item đã tồn tại trong Listbox

    Code:
    lsbDanhSach.item.remove(lsbDanhsach.selectitem);
    cũng tùy trường hợp nhưng mình xài kiểu này.

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

  1. Cách Xóa một item trong listbox!
    Gửi bởi suxedung trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 22-07-2012, 11:10 AM
  2. Xóa một item trong listbox C++.NET?
    Gửi bởi luongtankhang123 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 28-02-2012, 05:59 PM
  3. ADO.NET Cập nhật lại giá tiền khi xóa item trong listbox
    Gửi bởi tritai3000 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 22-06-2011, 11:02 PM
  4. ADO.NET Xử lý các item trong listbox như thế nào ?
    Gửi bởi tritai3000 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 26-01-2011, 11:24 PM
  5. Kéo thả các item giữa 2 ListBox trong C#?
    Gửi bởi The_languages_of_C trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 03-04-2008, 12:14 PM

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