Get Cell Value from a DataTable in C#
The DataRow
has also an indexer:
Object cellValue = dt.Rows[i][j];
But i would prefer the strongly typed Field
extension method which also supports nullable types:
int number = dt.Rows[i].Field<int>(j);
or even more readable and less error-prone with the name of the column:
double otherNumber = dt.Rows[i].Field<double>("DoubleColumn");
Access cell value of datatable
If you need a weak reference to the cell value:
object field = d.Rows[0][3]
or
object field = d.Rows[0].ItemArray[3]
Should do it
If you need a strongly typed reference (string in your case) you can use the DataRowExtensions.Field extension method:
string field = d.Rows[0].Field<string>(3);
(make sure System.Data is in listed in the namespaces in this case)
Indexes are 0 based so we first access the first row (0) and then the 4th column in this row (3)
Get Datatable cell value in specific type
The Rows property of the DataTable is an object of type DataRowCollection. That implements the non-generic ICollection interface, which means that the compiler can't infer the type of row beyond just object.
So you need to parse it wrt to your requirement. Anyway you can use :
var MInvPrice = Row["MInvPrice"];
C# DataTable, get value by Row/Column index
like this
string x = d.Rows[i][j].ToString()
How to get a specific column value from a DataTable in c#
The table normally contains multiple rows. Use a loop and use row.Field<string>(0)
to access the value of each row.
foreach(DataRow row in dt.Rows)
{
string file = row.Field<string>("File");
}
You can also access it via index:
foreach(DataRow row in dt.Rows)
{
string file = row.Field<string>(0);
}
If you expect only one row, you can also use the indexer of DataRowCollection
:
string file = dt.Rows[0].Field<string>(0);
Since this fails if the table is empty, use dt.Rows.Count
to check if there is a row:
if(dt.Rows.Count > 0)
file = dt.Rows[0].Field<string>(0);
Related Topics
Memcached with Windows and .Net
Linq to Entities Does Not Recognize the Method 'System.Web.Mvc.Fileresult'
Adding and Removing Users from Active Directory Groups in .Net
Adding or Subtracting Color from an Image in a Picturebox Using C#
How Can One Generate and Save a File Client Side Using Blazor
Calling a Method in Parent Page from User Control
Convert an Object to an Xml String
Find the Next Tcp Port in .Net
Where to Find "Microsoft.Visualstudio.Testtools.Unittesting" Missing Dll
How to Import from Excel to a Dataset Using Microsoft.Office.Interop.Excel
How to Find the Assembly System.Web.Extensions Dll
Give Some Command to View in Mvvm
Transparent Background on Winforms
Sqlite Keeps the Database Locked Even After the Connection Is Closed