2012-09-14 49 views
6

tôi có mã này trong C# chương trình của tôi, nhưng nó ném một sự phù hợp khi một số nút được nhấp vào vì không có hàng đã chọn trong DataGridView (Tôi sử dụng phương pháp ClearSelection):C# DataGridView - Kiểm tra Row được chọn

string selectedUser = usersGrid.SelectedRows[0].Cells[1].Value.ToString(); 

Có loại kiểm tra nào tôi có thể thực hiện trước dòng trên để đảm bảo rằng hàng được chọn không?

+0

Tôi nghĩ rằng bài đăng của tôi đủ rõ ràng và những người dưới đây đã biết chính xác những gì đã xảy ra. Xin lỗi vì bất kỳ sự nhầm lẫn nào. – hshah

Trả lời

19
if (usersGrid.SelectedRows.Count > 0) 
+1

Hoàn hảo! Cảm ơn bạn :) – hshah

2

Tôi sẽ mất một đâm vào những gì tôi nghĩ rằng bạn đang cố gắng làm, cố gắng này dưới đây

private void myButton_Click(object sender, EventArgs e) 
{ 
    foreach (DataGridViewRow row in usersGrid.Rows) 
    { 
     if (this.usersGrid.SelectedRows.Count == 1) 
     { 
     // get information of 1st column from the row 
     string selectedUser = this.usersGrid.SelectedRows[0].Cells[0].ToString(); 
     } 
    } 
} 

cũng thực hiện như sau khi tốt và kiểm tra các liên kết

Set DataGridView.MultiSelect = false và DataGridView.SelectionMode = FullRowSelect. Điều này sẽ làm cho nó để người dùng chỉ có thể chọn một hàng duy nhất tại một thời điểm.

+0

Điều này cũng hoạt động, nhưng tôi thích> 0 mà Tergiver đã đề cập :) – hshah

+0

đó là lựa chọn của bạn nếu như vậy chỉ cần refactor câu trả lời của tôi để phù hợp với trường hợp sử dụng của bạn .. – MethodMan

Các vấn đề liên quan