Thứ Hai, 30 tháng 5, 2016

Cách lấy dữ liệu từ datagridview lên textbox



Chào các bạn, bài viết này mình sẽ hướng dẫn các bạn cách khi các bạn click vào 1 dòng trong datagridview thì toàn bộ dữ liệu dòng đó sẽ được show lên các control của các bạn

Đầu tiên ở đây mình có 1 giao diện như thế này:


và cái lưới như thế này (những chổ tôi bôi là những chổ không cần thiết :))

Sau khi load Form lên, các bạn lấy datasource cho cái lưới của chúng ta
sau đó các bạn gõ lệnh sau:

            txtMaNhanVien.DataBindings.Clear();
            txtMaNhanVien.DataBindings.Add("Text", dtgvDS.DataSource,"Mã Nhân Viên");
            txtTenNhanVien.DataBindings.Clear();
            txtTenNhanVien.DataBindings.Add("Text", dtgvDS.DataSource, "Tên Nhân Viên");
            dtpNamSinh.DataBindings.Clear();
            dtpNamSinh.DataBindings.Add("Text", dtgvDS.DataSource, "Năm Sinh");
            dtpNgayVaoLam.DataBindings.Clear();
            dtpNgayVaoLam.DataBindings.Add("Text", dtgvDS.DataSource, "Ngày Vào Làm");
            cmbGioiTinh.DataBindings.Clear();
            cmbGioiTinh.DataBindings.Add("Text", dtgvDS.DataSource, "Giới Tính");
            txtDiaChi.DataBindings.Clear();
            txtDiaChi.DataBindings.Add("Text", dtgvDS.DataSource, "Địa Chỉ");
            txtDienThoai.DataBindings.Clear();
            txtDienThoai.DataBindings.Add("Text", dtgvDS.DataSource, "Điện Thoại");
            txtTinhTrang.DataBindings.Clear();
            txtTinhTrang.DataBindings.Add("Text", dtgvDS.DataSource, "Tình Trạng");

Giải thích về các hàm
DataBindings.Clear(); : hàm này đề xóa dữ liệu trong control (textbox,...) đang có.
DataBindings.Add(<kiểu dữ liệu hiển thị (ở đây tôi dùng Text)>, (nguồn dữ liệu(ở đây tôi lấy nguồn từ Datagridview)>, <Tên trường dữdiệu trong nguồn dữ liệu>);


Và đây là video hướng dẫn cụ thể

Chúc các bạn thành công
Xem thêm...

Thứ Sáu, 27 tháng 5, 2016

Code sinh mã tự động theo định dạng


Chào các bạn, chắc các bạn từng có lần gặp phải và muốn khắc phục tình trạng mã tự động sinh chứ không cần nhập vào.
Bài viết hôm nay tôi sẽ hướng dẫn các bạn làm 1 đoạn code giải quyết vấn đề này.
Đầu tiên các bạn định trước cho mình định dạng của mã sau khi sinh ra là như thế nào.
Ở đây ví dụ tội có định dạng mã cho nhân viên như sau: NV001 - NV999. tức là công ty tối đa 999 nhân viên.
Mã tự động sinh ra sẽ tự động chèn vào khoảng trống giữa 2 mã không liền kề nhau. ví dụ có NV001, NV003 thì mã tự động tạo ra sẽ là NV002.
Đầu tiên các bạn lấy về cho tôi 1 DataTable chứa toàn bộ nhân viên nhé các bạn;

            DataTable dt = new DataTable();
            dt = nvMod.GetAllData(); // hàm GetAllData trong class NhanVienMod sẽ trả lại 1 Datatable chứa toàn bộ nhân viên.

Tạo 1 biến lưu giá trị số thứ tự của nhân viên

            int coso = 0;

Tiếp điến ta code và kiểm tra các trường hợp có thể xảy ra với DataTable danh sách nhân viên

            if (dt.Rows.Count == 0)// nếu danh sách nhân viên rỗng
            {
                coso = 1;
            }
            else if (dt.Rows.Count == 1 && int.Parse(dt.Rows[0][0].ToString().Substring(2, 3)) == 1) // nếu danh sách nhân viên có 1 nhân viên và mã người này là NV001
            {
                coso = 2;
            }
            else if (dt.Rows.Count == 1 && int.Parse(dt.Rows[0][0].ToString().Substring(2, 3)) > 1) // nếu danh sách có 1 nhân viên mà mã người này khác NV001
            {
                coso = 1;
            }
            else // nếu danh sách có hơn 1 nhân viên
            {
                for (int i = 0; i < dt.Rows.Count - 1; i++)
                {
                    if (int.Parse(dt.Rows[i + 1][0].ToString().Substring(2, 3)) - int.Parse(dt.Rows[i][0].ToString().Substring(2, 3)) > 1)
                    {
                        coso = int.Parse(dt.Rows[i][0].ToString().Substring(2,3)) + 1;
                        break;
                    }
                }
                coso = int.Parse(dt.Rows[dt.Rows.Count - 1][0].ToString().Substring(2, 3)) + 1;
            }

Sau khi lấy được cơ số thứ tự của nhân viên, ta gắn thêm tiền tố NV vào

            string ma = "";
            if (coso < 10)
                ma = "NV00" + coso;
            else if (coso < 100)
                ma = "NV0" + coso;
            else
              ma = "NV" + coso;


Và đây là full code


Chúc các bạn thành công

Xem thêm...

Thứ Sáu, 20 tháng 5, 2016

Code chỉ nhập số vào Textbox


Ví dụ các bạn có 1 Textbox như thế này
khi đó các bạn sẽ bắt sự kiện KeyPress của Textbox này

Sau đó các bạn gõ đoạn code dưới đây vào


Các bạn nhớ gõ đúng nhé, câu lệnh if có 2 điều kiện,
Điều kiện 1 là kiểm tra phím vừa được nhấn có phải là số hay không
Điều kiện 2 la kiểm tra phím vừa được nhấn có phải là phím thuộc nhóm phím điều khiển (qua, lại, lên, xuống và nút xóa) không?

nếu 1 trong 2 điều kiện trên không thỏa mãn, Handled sẽ được bật (khi nó bật lên thì nó sẽ không nhận phím vừa được nhấn vào Textbox)

Chúc các bạn thành công!
Xem thêm...

Hướng dẫn làm phần mềm quản lý bán hàng

Đầu tiên gửi đến các bạn loạt video hướng dẫn làm phần mềm quản lý bán hàng


Với loạt video này các bạn hoàn toàn có thể tự làm theo để phục vụ nhu cầu làm đề tài, hoặc đồ án thực tập của các bạn.
Video chia ra nhiều bài để các bạn dễ theo dõi
Bài 1: 
Video hướng dẫn làm phần mềm quản lý bán hàng - Bài 1
Bài 2:

Video hướng dẫn làm phần mềm quản lý bán hàng - Bài 2
Bài 3:
Video hướng dẫn làm phần mềm quản lý bán hàng - Bài 3
Bài 4

Video hướng dẫn làm phần mềm quản lý bán hàng - Bài 4
Loạt video hướng dẩn làm phần mềm quản lý bán hàng tới đây là hết.
các bạn nào có yêu cầu thắc mắc thì liên hệ với mình qua Email: it.vanhoang@gmail.com
mình sẽ sắp xếp thời gian giải đáp cho các bạn
chúc các bạn học tốt!


Xem thêm...