Lấy row index trên Gridview đơn giản là:
var row = dataGridView1.CurrentRow.Index
Còn Datatable thì có ID
2 cái đó không liên quan gì đến nhau cả. Thêm trường Order nữa, nếu bạn muốn sắp sếp theo ý muốn.
Chào các bạn,
Mình có vấn đề rắc rối như thế này:
Một datatable tên dt có dữ liệu như sau:
MASV HOTEN
---------------
SV2 Nam ->index dòng là 0
SV3 Minh ->index dòng là 1
SV1 Tuan ->index dòng là 2
Sau đó tạo một datagridview1 và gán: datagridview1.DataSource=dt;
Tạo một mảng int[] INDEX để lưu index của các dòng ban đầu. INDEX={0,1,2}
Sau khi sắp xếp trên datagridview1 bằng cách click chuột vào tên cột (MASV) thì datagridview1 hiển thị như sau:
MASV HOTEN
---------------
SV1 Tuan ->index là 2
SV2 Nam ->index là 0
SV3 Minh ->index là 1
Mình muốn là sau khi sắp xếp thì mảng INDEX sẽ lấy theo thứ tự dòng mới trên datagridvew, nghĩa là mảng INDEX={2,0,1} thì phải làm như thế nào.
Vì theo mình biết là sau khi sắp xếp trên datagridview mặc dù vị trí dòng thay đổi nhưng index của các dòng vẫn giữ nguyên.
Cám ơn các bạn nhiều.
Lấy row index trên Gridview đơn giản là:
var row = dataGridView1.CurrentRow.Index
Còn Datatable thì có ID
2 cái đó không liên quan gì đến nhau cả. Thêm trường Order nữa, nếu bạn muốn sắp sếp theo ý muốn.
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Cái bạn muón là:
Trên cái Gridview, đặt thêm một cột Index.
Trong event gridview.rowdatabound, đếm số index và ghi vào cột index này.
Sau khi sort, dùng cột index này để điều chỉnh mảng INDEX[]
Tuy nhiên, cách trên rất nguy hiểm. Trên nguyên tắc, chỉ có dân chuyên nghiệp mới dám đụng chạm vào event sort.
Cách an toàn hơn là tạo thêm một trường row_number() trong câu truy vấn. Trường này bind vào một key value trên gridview. Như vậy mảng INDEX[] của bạn có thể được điều chỉnh bất cứ lúc nào cần thiết.
Có nhiều cách để thực hiện, nhưng phải biết bạn cần mảng INDEX[] để làm gì. Có những trường hợp chỉ cần đổi cách suy nghĩ thì vấn đề giải quyết đơn giản đi rất nhiều.