Các ghi nhớ khi lập trình
1. Định dạng số ngày theo định dạng của máy.
System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CurrentCulture;
Không nên chọn kiểu en-US hay vi-VN vì khi người dùng thay đổi sẽ ảnh hưởng
2.Chỉnh font chữ
3. Bấm vô nút mở form
frm_PhieuDeNghiThanhToan pdntt;
private void barPhieuDeNghiThanhToan_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (pdntt == null || pdntt.IsDisposed == true)
{
foreach (Form f in MdiChildren)
{
f.Close();
}
pdntt = new frm_PhieuDeNghiThanhToan();
pdntt.MdiParent = this;//Đặt form cha cho childForm là form này
pdntt.Show();//Hiển thị nó lên
}
}
4. Định dạng ngày tháng năm report cách đơn giản
DateTime ngaylap = DateTime.Parse(DDH.Rows[0]["NgayLapDonDatHang"].ToString());
txtNam.Text = "Ngày " + ngaylap.Day + " tháng " + ngaylap.Month + " năm " +ngaylap.Year;
5. Selected trong combobox
cbTaiKhoan.ValueMember = "IDTaiKhoanTien";
cbTaiKhoan.DisplayMember = "TenTaiKhoan";
cbTaiKhoan.DataSource = dt;
==> it is ok
Ngược lại gán datasource trước khi định nghĩa value và display thì xem như vô nghĩa
6. Bỏ nút Edit Filter
7. Lấy giá trị ValueMember của gridLookUpEdit
gridLookUpEdit1.EditValue
8. Cẩn thận với lưu kiểu float,
Khi lấy dữ liệu trên control của Form, các bạn cứ đổi thành kiểu decimal
Truyền tham số cứ để decimal như câu lệnh sau
decimal soluong = Convert.ToDecimal("chuong can");
cmd.Parameters.Add("@SoLuong", SqlDbType.Float).Value = soluong;
KHÔNG NÊN DÙNG HÀM ROUND NHÉ
9. Chỉnh sửa report bằng phím lên xuống qua lại
- Tô hình vuông trên đối tượng mới có thể di chuyển đối tượng đó bằng phím lên xuống qua lại, nếu đi chậm thêm nút ctrl
- Chọn thẳng vào đối tượng thì không thể di chuyển.
10, Kiểm tra rỗng và null trước khi convert 1 số từ chuỗi.
decimal f_thucXuat = String.IsNullOrEmpty(row["ThucXuat"].ToString()) ? 0 : Convert.ToDecimal(row["ThucXuat"].ToString());
11. So sánh từ ngày đến ngày không sử dụng convert trong sql để tối ưu hiệu năng
DateTime tu_ngay = dateTimePicker1.Value.Date;
DateTime den_ngay = dateTimePicker2.Value.Date;
den_ngay= den_ngay.AddDays(1);
SQL: where [NgayLap] >= @tu_ngay and [NgayLap] < @den_ngay