30/09/2018, 17:04

Xử lý sự kiện cell click C#

Mình có cái DataGridView CellClick Event, khi click vào nó sẽ chọn lưu thông tin của sinh viên vào biến SelectedStudentId.
Nhưng khi mình chạy thì khi chọn có khi lưu đc khi không. Đã thư cho mbox show để kiểm tra trực tiếp khi click thì thấy nó lúc click thì show đc thông tin id và mssv của ô đó, khi thì không. Ai giúp mình với


Code hàm cell click Event

private void dataGWMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow row = new DataGridViewRow();
            row = dataGWMain.Rows[e.RowIndex];
            Main.SelectedStudentId = row.Cells[2].Value.ToString();
            MessageBox.Show(row.Cells[2].Value.ToString());
            MessageBox.Show(row.Cells[0].Value.ToString());
        }
Phạm Hoàng Tuấn viết 19:12 ngày 30/09/2018

Bạn thử đặt debug vào hàmdataGWMain_CellContentClick khi click vào cell mà nó k show ra xem có gặp vấn đề gì ở đó không.

Sau đó bạn thử đổi lại cách viết này xem :

MessageBox.Show(dataGWMain.Rows[e.RowIndex].Cells[2].Value.ToString());
MessageBox.Show(dataGWMain.Rows[e.RowIndex].Cells[0].Value.ToString());
Đoàn Hiếu Tâm viết 19:17 ngày 30/09/2018

Thử dùng cách kia vẫn như vậy bạn à, lúc đc lúc không. Search trên mạng thử dùng CellClick event hay vì CellContentClick vẫn ko đc.
Khi thử debug hàm đó thì lúc nó nhận cell click để chạy vào hàm lúc thì ko. Khi đã nhận cell click chạy vào đc hàm rồi thì mọi thứ trong hàm chạy ok lắm

buithaiminh viết 19:15 ngày 30/09/2018

Ví dụ cho bạn tự triển khai:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {
                ID = row.Cells[0].Value.ToString();
            }

À mà bạn dùng CellClick nhé, đừng dùng CellContentClick.

Đoàn Hiếu Tâm viết 19:07 ngày 30/09/2018

Mình chưa hiểu ý bạn lắm, nhưng sau 1 hồi search cả chục tab stack over flow thì đổi thành CellClick là ok nhất.

Try using the CellClick event instead:

Occurs when any part of a cell is clicked.
The CellContentClick event won’t necessarily fire when you click in the cell, the user has to click into the “content” area of the cell, like the text, for instance:

Occurs when the content within a cell is clicked.

buithaiminh viết 19:18 ngày 30/09/2018

Đúng vậy. Vì CellContentClick thì bạn phải click vào nội dung - ở đây là text. Còn CellClick thì chỉ cần bạn click vào cell thôi. Đó là lý do lúc thì bắt được event, lúc thì không.

Bài liên quan
0