datetimePicker trong C# bị lỗi


cái datetimePicker của em có giá trị hiện lên là 01/11/2018 nhưng khi truyền vào listview thì cái tháng nó lại nhảy lung tung không giống như trên datetimePicker ạ. Mọi người có biết cái này bị lỗi gì không ạ

Đoạn mã bạn truyền đâu?

item.SubItems.Add(dateTimePicker1.Value.ToString("dd/mm/yyyy"));
listView1.Items.Add(item);

mã em viết vậy đó anh

dd/MM/yyyy

m (thường) là phút.

5 Likes

ra là vậy em cảm ơn anh

à a ơi xem dùm e đoạn code này:

private void btThemSau_Click(object sender, EventArgs e)
{
    //foreach (ListViewItem items in listView1.SelectedItems)
    {
        //int i = listView1.SelectedItems.Count;
        try
        {
            ListViewItem item = new ListViewItem(txtKhachHang.Text);
            item.SubItems.Add(txtTenMon.Text);
            item.SubItems.Add(txtGiaTien.Text);
            item.SubItems.Add(txtSoLuong.Text);
            int ThanhTien = Convert.ToInt32(txtGiaTien.Text) * Convert.ToInt32(txtSoLuong.Text);
            item.SubItems.Add(ThanhTien.ToString());
            item.SubItems.Add(dateTimePicker1.Value.ToString("dd/mm/yyyy"));
            listView1.Items.Insert(listView1.SelectedItems.Count+1, item);
        }
        catch (FormatException)
        {
            MessageBox.Show("Khong du du lieu");
        }
        txtKhachHang.Clear();
        txtTenMon.Clear();
        txtGiaTien.Clear();
        txtSoLuong.Clear();
    }
}

đoạn code này để mình thêm một dòng vào sau một dòng được chọn nhưng thêm lần thứ 2 thứ 3 mà vẫn thêm sau đúng cái dòng mình chọn đầu tiên chứ không thêm sau cái dòng mà mình chọn ở lần t2 t3. Em nghĩ là do SelectedItems chưa được reset nên dùng Clear() nhưng vẫn không được. Anh coi dùm em thử code em có lỗi gì sai không ạ

listView1.SelectedItems.Count+1

Sai rồi, cái này là nó đếm (Count) số dòng được chọn mà.

Lấy dòng được chọn là:

listView1.SelectedIndices[0]

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Lần sau move nhớ để ý kỹ nha @SITUVN.gcd. Có trùng cmt đấy :smile:

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Hơi chắp vá tí :penguin:

Đã chép đoạn code vào cmt #6 trên.

1 Like

foreach có tác dụng gì trong chức năng này vậy bạn ?

à mình quên ko xóa. Ko có dòng foreach đó bạn nha

vậy còn cái listView1.SelectedIndex là trả về mục có được chọn hay sao anh

Cảm ơn @noname00, chưa thành thạo lắm. :sweat_smile:
Sẽ rút kinh nghiệm.


listView1.Items.Insert(listView1.SelectedIndices[0]+1, item);

Có xảy ra lỗi khi chèn mà bạn chưa chọn một dòng, tự tìm hiểu cách khắc phục. Gợi ý: khi chưa chọn dòng nào, listView1.SelectedIndices.Length = 0.
Có thể có lỗi khác, tự khắc phục.

1 Like

vâng cảm ơn anh nhiều a. Vậy còn listView1.SelectedIndex là trả về chỉ mục của dòng đang chọn phải không anh hay là khác nữa ạ

Do mình nhầm sang một số điều khiển khác của Windows Form, ListView không có thuộc tính SelectedIndex mà chỉ có SelectedIndices
Nếu có thì ListView.SelectedIndex sẽ tương đương với ListView.SelectedIndices[0].

1 Like

Cám ơn anh nhiều ạ…

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?