PDA

View Full Version : Co ai biet datagrid trong .NET giup minh voi!



pinkrose
09-11-2004, 08:15
Minh muon nho cac ban giup minh tim mot chut duoc khong. Minh muon hoi khi phan trang xay ra truong hop, khi ban xoa het cac ban ghi trong luoi o trang sau thi khong quay ve duoc trang truoc va xay ra loi.
Con mot van de vuong mac ma toi muon nho cac ban giup: do la thuoc tinh de bat con tro nhay vao textbox khi nguoi dung muon GETFOCUS vao textbox. Vi day la .NET nen no hoi khac voi VB6, hien gio toi van chua tim ra thuoc tinh cua textbox, toi rat mong duoc su giup do cua cac ban! Chan thanh cam on!

Cyber
09-11-2004, 16:00
Khác chút thôi. Để set focus cho TextBox thì dùng Javascript cũng được.
Còn xóa hết data ở trang sau mà không về trang trước thì tui chưa gặp. Thường thì khi xóa xong tui cho nó lấy hết lại data.
Đưa code cụ thể tiện hơn

chungtt
09-11-2004, 16:48
grid: lỗi do CurrentPageIndex vẫn mang giá trị cũ (lớn hơn tổng số trang) -> giải pháp là set lại CurrentPageIndex: Thêm dòng sau vào đoạn code xóa dữ liệu (trước DataBind)
If grdResult.Items.Count = 1 Then grdResult.CurrentPageIndex = 0

set focus cho textbox:
dùng javascript, đặt đoạn code sau vào PageLoad
Page.RegisterStartupScript("focus", _
"<script language=""JavaScript"">" & _
"Form1." & txtTextBox.ClientID & ".focus();" & _
"</script> ")
Nếu bạn đổi tên form, bạn phải thay Form1 bằng tên form.

pinkrose
10-11-2004, 08:24
Minh cam on cac ban da chi cho minh cach xu ly loi. Dung la minh dung CurrentPageIndex va co the chua set lai gia tri cho no khi xoa.
Con truong hop setfocus cho textbox kia thi hien tai minh dung cac file ascx(control) nen ko co form ma chi dung bang. Co mot form aspx goi den cac ascx kia. Nen minh ko biet dung doan java kia nhu the nao vi khi dung java phai co form. O day minh ko dung form.Ban co cach nao giai quyet giup minh ko.

chungtt
10-11-2004, 09:21
vẫn vậy thôi, vì thực ra trang hiển thị là trang aspx, vẫn có form. Cứ thử bằng đoạn mã này, nếu trình duyệt báo lỗi thì căn cứ vào lỗi đấy mà sửa lại code. Nếu cần thì viewsource lên xem textbox nó nằm trong form nào để mà sửa code.

pinkrose
10-11-2004, 10:44
Cam on ban Chungtt da chi cho minh! Minh se thu lai. Con motrac roi hien tai minh dang gap phai do la: khong hieu sao bay gio khi kich vao bat ky mot nut nao tren giao dien deu phai kich 2 lan thi moi kich hoat duoc nut do hoat dong theo y muon. Tren giao dien cua minh co nut Tao moi,Thoat, Sua, Xoa. Khi kich vao bat cu nut nao deu phai kich den lan thu 2. Khi kich lai thi do Page bi load lai nen thuong lay gia tri khong chinh xac.Do vay cac nut kia cung bi sai. Hien tai minh rat muon tim ra loi tai sao lai nhu vay nhung van chua tim ra. Mong cac ban giup do!

chungtt
10-11-2004, 11:02
giá trị các nút bị sai là do bạn binddata cho các control mà không kiểm tra trạng thái ispostback, thông thường việc gán giá trị cho các control (binddata) như sau
Private Sub Page_Load(...)
if not ispostback then
'binddata here
end if
end sub

Có thể việc bạn phải bấm nút hai lần cũng là do nguyên nhân này.

góp ý: lần sau những câu hỏi dạng này bạn cần post cả code lên thì mọi người mới có thể giúp bạn được.

pinkrose
11-11-2004, 10:44
Cam on ban da gop y cho minh. Minh se rut kinh nghiem. Minh cung da tim ra loi cua truong hop phai kich 2 lan roi vi do minh da dung sai 1 bien toan cuc trong Sub SelectItemCommand nen xay truong hop loi tren. Luc dau minh cung nghi la sai do viec dung ispostback nhung chac la do loi dung bien cua minh. Cam on ban mot lan nua.