PDA

View Full Version : Q. lỗi DataGrid



demden
24-06-2003, 09:26
khi có 2 cột mã, tên. Nhập thẳng trên lưới, giả sử nhập cột mã trùng mã đã có, qua hàng khác

- nếu ko AddHandler cái RowChanging, giá trị mã trùng sẽ trở thành null
- có AddHandler cái RowChanging, nó thông báo ko có giá trị trên cột mã đó, cho ta chọn yes no sửa chữa hàng. Xin hỏi có ai biết cách bắt câu thông báo kia ko

nguyen_lanthao
24-06-2003, 19:40
mình nghĩ bạn không nên cho nhập mã vào grid mà phát sinh nó tự động khi cllick sang dòng mới và cột mã trên grid là enable = false. khi đó thì không sợ là sẽ nhập mã số bị trùng. Khi lưu thì ta chỉ lưu các dòng nào trên gird có đầy đủ dữ liệu, nếu không thì ta thông báo cho họ điền đầy vào hay xoá các dòng đó
regards

demden
25-06-2003, 09:16
hi .. mình rất cám ơn bạn nhưng mà đâu thể lúc nào cũng áp đặt phát sinh mã

nguyen_lanthao
25-06-2003, 12:59
không biết ý bạn có phải tạo mã như vầy: KH00001,KH00002...
mình muốn nói phát sinh mã tự động là tạo một hàm tạo những mã quy định rồi gắn vào cell, chứ không phải tự tăng mã như trong asccess
regards

demden
25-06-2003, 13:07
đúng là tạo 1 hàm riêng nhưng mà ý mình là dĩ nhiên phải có 1 bảng nào đó mã tự nhập vào. Ví dụ như số hợp đồng, cái đó người ta bắt buộc nhập, đúng không.
Còn về cách làm 1 hàm riêng nếu bạn đã làm có thể cho mình xin source trước được không, bởi vì chắc chắn sau này mình cũng phải làm mấy cái đó à
cảm ơn nhiều

nguyen_lanthao
26-06-2003, 11:45
mình không biết là làm sao att vào thôi thì paste một hàm đi ha. Bạn có thể biến đổi nó theo cách bạn muốn

'in case Ma with character
'in rule: every ID will set 2 characters as alias of department
'Ex: "KH0001" means this order belongs to Planning Department
Function createIDWithChar(ByVal preID As String) As String
Dim truncNum As String
Dim tmpTruncNum As String
Dim truncChar As String
'return "0001"
truncNum = preID.Remove(0, 2)

tmpTruncNum = truncNum

'return "KH"
truncChar = preID.Substring(0, 2)

'increase number then return 2
tmpTruncNum = (Int32.Parse(tmpTruncNum) + 1).ToString

'set truncNum in form "0002"

'remove some characters at the end of string upon to the length of
'increased number
truncNum = truncNum.Remove(truncNum.Length - tmpTruncNum.Length, tmpTruncNum.Length)
'insert new id increased into the end of truncNum
'then return "0002"
truncNum = truncNum.Insert(truncNum.Length, tmpTruncNum)
'return "KH0002"
truncNum = truncNum.Insert(0, truncChar)
Return truncNum
End Function