简体   繁体   中英

Trying to get second row from DataTable

I'm trying to retrieve the second row from a DataTable but this is not returning a value. What could be the problem as the DropDown populates just fine.

            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                DataTable dt = new DataTable();
                sda.Fill(dt);
                DropDown.DataSource = dt;
                DropDown.DataTextField = "FirstName";
                DropDown.DataValueField = "FirstName";
                DropDown.DataBind();
                con.Close();

                var secondRow = dt.Rows[2].ToString(); // This should return the second row in my datatable.
            }

DataTable.Rows[int] will give you the DataRow object. If you do dt.Rows[2].ToString() , you are going to get the string representation of the object type.

The index starts at 0 . Hence for 2nd row, you will query dt.Rows[1] . Further, You can extract the value of a column in the row and for that, you have to mention the column index or name like - dt.Rows[1][0] or dt.Rows[1]["col1"]

You can also loop through all the columns in the row like below:

foreach (DataColumn col in dt.Columns)
{
  var columnValue = dt.Rows[1][col];
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM