Truy cập giá trị ô của dữ liệu


84

Có ai có thể giúp tôi cách truy cập giá trị ví dụ của ô đầu tiên trong cột thứ 4 không?

a b c d
1 2 3 5
g n m l

ví dụ, làm thế nào để truy cập đến giá trị d, nếu đó sẽ là dữ liệu?

Cảm ơn.

Câu trả lời:


133

Nếu bạn cần một tham chiếu yếu đến giá trị ô:

object field = d.Rows[0][3]

hoặc là

object field = d.Rows[0].ItemArray[3]

Hãy làm nó

Nếu bạn cần một tham chiếu được gõ mạnh (trong trường hợp của bạn là chuỗi), bạn có thể sử dụng phương thức mở rộng DataRowExtensions.Field :

string field = d.Rows[0].Field<string>(3);

(đảm bảo System.Data được liệt kê trong không gian tên trong trường hợp này)

Chỉ mục dựa trên 0 vì vậy trước tiên chúng tôi truy cập vào hàng đầu tiên (0) và sau đó là cột thứ 4 trong hàng này (3)


4
@OP Chỉ cần lưu ý rằng bạn thường muốn kiểm tra trước để đảm bảo rằng thực sự có đủ hàng / cột khi mã hóa cứng các giá trị như thế này.
Servy

1
xem thêm stackoverflow.com/a/13816531/638977 Nó gợi ýint number = dt.Rows[i].Field<int>(j);
Behzad Ebrahimi


13

Bạn cũng có thể thử (ô đầu tiên trong cột thứ 4):

dt.Rows[0][3]


7

dữ liệu d ở hàng 0 và cột 3 cho giá trị d:

DataTable table;
String d = (String)table.Rows[0][3];

1
public V[] getV(DataTable dtCloned)
{

    V[] objV = new V[dtCloned.Rows.Count];
    MyClasses mc = new MyClasses();
    int i = 0;
    int intError = 0;
    foreach (DataRow dr in dtCloned.Rows)
    {
        try
        {
            V vs = new V();
            vs.R = int.Parse(mc.ReplaceChar(dr["r"].ToString()).Trim());
            vs.S = Int64.Parse(mc.ReplaceChar(dr["s"].ToString()).Trim());
            objV[i] = vs;
            i++;
        }
        catch (Exception ex)
        {
            //
            DataRow row = dtError.NewRow();
            row["r"] = dr["r"].ToString();
            row["s"] = dr["s"].ToString();
            dtError.Rows.Add(row);
            intError++;
        }
    }
    return vs;
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.