Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Làm thế nào để load lại datagridview với dòng mặc định là dòng đang được chọn

  1. #1
    Ngày gia nhập
    05 2011
    Bài viết
    299

    Mặc định Làm thế nào để load lại datagridview với dòng mặc định là dòng đang được chọn

    Mình có 1 cái datagridview load dữ liệu liên tục. Giờ mình nhờ các bạn chỉ cách để mình có thể lấy dòng đang được chọn trước khi load làm giá trị mặc định cho lần load sau?
    bồ sung: ý mình định làm là khi load lại datagridview vẫn giữ như cũ, chỉ là mình sẽ di chuyển đến dòng được lựa chọn và tô đậm dòng đó lên, nếu datagripview dài thì tự cuộn đến record đó.
    Đã được chỉnh sửa lần cuối bởi rossoneri : 03-03-2012 lúc 10:23 AM. Lý do: bổ sung nội dung
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Trước tiên mình sẽ lấy vị trí dòng hiện tại mà User đang chọn :
    Visual C# Code:
    1. int index = DataGridView.CurrentRow.Index
    Và cuối hàm load dữ liệu lên DataGridView bạn sẽ chọn dòng mà User đã chọn :
    Visual C# Code:
    1. dataGridView1.Rows[index].Selected = true;

  3. #3
    Ngày gia nhập
    02 2009
    Bài viết
    13

    Nếu làm như vậy khi số lượng row của datagridview thay đổi, dòng chọn lại sẽ không chính xác.
    Mình nghĩ phải chạy vòng lặp thôi.

  4. #4
    Ngày gia nhập
    05 2011
    Bài viết
    299

    híc, cứ load lại datagridview là nó lại trỏ dòng đầu tiên :(
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  5. #5
    Ngày gia nhập
    10 2011
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi Aosa Xem bài viết
    Nếu làm như vậy khi số lượng row của datagridview thay đổi, dòng chọn lại sẽ không chính xác.
    Mình nghĩ phải chạy vòng lặp thôi.
    nếu mà index là biến toàn cục,thì khi xư lí thêm hay xóa ta chỉ việc giảm or tăng index thôi,như vậy có đc ko nhỉ

  6. #6
    Ngày gia nhập
    02 2012
    Bài viết
    5

    Mặc định Làm thế nào để load lại datagridview với dòng mặc định là dòng đang được chọn

    Trích dẫn Nguyên bản được gửi bởi rossoneri Xem bài viết
    Mình có 1 cái datagridview load dữ liệu liên tục. Giờ mình nhờ các bạn chỉ cách để mình có thể lấy dòng đang được chọn trước khi load làm giá trị mặc định cho lần load sau?
    Muốn load trước tiên là phải dựa vào cái gì của dữ liệu, ví dụ ID
    Code:
    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            {
    //Id khai báo toàn cục
                id= dataGridView1.Rows[e.RowIndex].Cells["Id"].Value.ToString().Trim();
                LoadData();
            }
    //Tạo một phương thức load lại dữ liệu
     void LoadData()
            {
                string strsql = string.Empty;
                strsql = "Select * from table where id='" + id+ "'";
                connect kn = new connect();
                kn.moketnoi();
               //-----------dung datatatble
                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(strsql, kn.cn);
                da.Fill(dt);
                dataGridView1.DataSource = dt;
                kn.dongketnoi();
            }
    Có gì thiếu xót mong anh em nhẹ tay
    Lý Trọng Nhân

  7. #7
    Ngày gia nhập
    05 2011
    Bài viết
    299

    hi, xin lỗi mọi người vì hôm bữa không mô tả kỹ yêu cầu
    mình đã giải quyết được vấn đề bằng cách dùng currentcell
    Visual C# Code:
    1. dataGridView1.CurrentCell=dataGridView1.Rows[rowSelected].Cell[0];
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  8. #8
    Ngày gia nhập
    10 2011
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi rossoneri Xem bài viết
    hi, xin lỗi mọi người vì hôm bữa không mô tả kỹ yêu cầu
    mình đã giải quyết được vấn đề bằng cách dùng currentcell
    Visual C# Code:
    1. dataGridView1.CurrentCell=dataGridView1.Rows[rowSelected].Cell[0];
    chỉ mình làm với!
    mình đã gán
    Visual C# Code:
    1. void dataGrid_RowEnter(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
    2.  {
    3.             int row = e.RowIndex;
    4.             rowSelected = row;
    5. .
    6. .
    7. .
    8. .
    9.  }
    nhưng không được, nó vẫn chạy lên chọn dòng đầu tiên

    Visual C# Code:
    1. dataGrid.CurrentCell = dataGrid.Rows[rowSelected].Cells[0]; // <--- mình thêm "s" sau "Cell" vì tìm hoài không thấy "Cell"

    sao lại thế?
    Đã được chỉnh sửa lần cuối bởi markq9x : 10-04-2012 lúc 01:32 PM.

Các đề tài tương tự

  1. Thêm nhiều dòng trong Datagridview c# Bằng duyệt qua từng dòng và thực thi thủ tục
    Gửi bởi phuclieu90 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 07-06-2012, 01:10 PM
  2. ADO.NET Select dòng trong DataGridView và cuộn theo position dòng được chọn
    Gửi bởi tuanvu_n trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 22-11-2011, 02:35 PM
  3. Trả lời: 10
    Bài viết cuối: 18-10-2011, 12:10 PM
  4. Lấy chỉ số dòng của 1 dòng bất kì trong DataGridView trên C#?
    Gửi bởi concobe trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 20-04-2009, 05:48 PM
  5. DataGridview tự động cuốn khi kéo thả dòng
    Gửi bởi ccom trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 01-03-2008, 04:00 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn