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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.