从数据表中选择一列以检查其值
Selecting a column from datatable to check its values
我有一个包含 3 列的数据表 "Name"、"Type"、"ID" 我只想使用其中的一列进行比较。即 "Type"。我想将该列放在与数据表分开的 DataColumn 中,将其中单元格的值与字符串进行比较,然后在匹配时传递一个字符串。
我不确定这个方法是对还是错,我什至不知道如何获取要比较的这个Datacolumn中的单元格(行)的字符串值
这是我的代码:
DataTable Griddetails;
Griddetails = RxMUaClient.BrowseGrid("2", "127.0.0.1:48030", nodepassed);
var myColumn = Griddetails.Columns.Cast<DataColumn>()
.SingleOrDefault(col => col.ColumnName == "Type");
return Json(myColumn);
if (myColumn != null)
{
for (int i = 0; i <= myColumn.; i++ )
{
}
}
我正在尝试通过 for 循环或 foreach 获取 dataColumn 中的数据行计数,foreach 因某些错误而无法正常工作,我不知道如何获取 for 的数据列的值循环。
有什么帮助吗?
即使这个问题对我来说仍然没有多大意义,如果你只想知道 table 有多少行属于给定的 DataColumn
:
int rowCount = myColumn.Table.Rows.Count;
请注意,您不需要 LINQ 查询来查找列,您可以使用 DataColumnCollection
indexer that takes a string:
DataColumn myColumn = Griddetails.Columns["Type"];
如果没有具有该名称的列并且 returns null
.
,它会按预期工作
在您编辑问题之后,您似乎真的想查找类型列包含给定值的行。您可以使用 LINQ:
var matchingRows = from row in Griddetails.AsEnumerable()
where row.Field<string>("Type") == valueYouSearch
select row;
DataRow firstRow = matchingRows.FirstOrDefaul();
if(firstRow != null)
{
// here you know that there is at least one row with that value in the type-column
string firstType = firstRow.Field<string>("Type"); // pointless, maybe you want to return different column's value
// ....
}
我有一个包含 3 列的数据表 "Name"、"Type"、"ID" 我只想使用其中的一列进行比较。即 "Type"。我想将该列放在与数据表分开的 DataColumn 中,将其中单元格的值与字符串进行比较,然后在匹配时传递一个字符串。 我不确定这个方法是对还是错,我什至不知道如何获取要比较的这个Datacolumn中的单元格(行)的字符串值
这是我的代码:
DataTable Griddetails;
Griddetails = RxMUaClient.BrowseGrid("2", "127.0.0.1:48030", nodepassed);
var myColumn = Griddetails.Columns.Cast<DataColumn>()
.SingleOrDefault(col => col.ColumnName == "Type");
return Json(myColumn);
if (myColumn != null)
{
for (int i = 0; i <= myColumn.; i++ )
{
}
}
我正在尝试通过 for 循环或 foreach 获取 dataColumn 中的数据行计数,foreach 因某些错误而无法正常工作,我不知道如何获取 for 的数据列的值循环。
有什么帮助吗?
即使这个问题对我来说仍然没有多大意义,如果你只想知道 table 有多少行属于给定的 DataColumn
:
int rowCount = myColumn.Table.Rows.Count;
请注意,您不需要 LINQ 查询来查找列,您可以使用 DataColumnCollection
indexer that takes a string:
DataColumn myColumn = Griddetails.Columns["Type"];
如果没有具有该名称的列并且 returns null
.
在您编辑问题之后,您似乎真的想查找类型列包含给定值的行。您可以使用 LINQ:
var matchingRows = from row in Griddetails.AsEnumerable()
where row.Field<string>("Type") == valueYouSearch
select row;
DataRow firstRow = matchingRows.FirstOrDefaul();
if(firstRow != null)
{
// here you know that there is at least one row with that value in the type-column
string firstType = firstRow.Field<string>("Type"); // pointless, maybe you want to return different column's value
// ....
}