[英]How to fill dropdownlist from a table with ID+First name+last name of a row
[英]Get the row id that have same first name and last name
id fname lname role
1 mark anthony lead
2 jeff juarez manager
3 matthew gonzales lead
4 mark anthony lead
我有上表。
現在,我需要獲取具有相同名字和姓氏的所有行的ID。
我嘗試以下解決方案無法正常工作
foreach (DataRow row1 in dataTable.Rows)
{
foreach (DataRow row2 in dataTable.Rows)
{
var array1 = row1.ItemArray;
var array2 = row2.ItemArray;
if (array1[1] == array2[1])
{
Console.WriteLine("Equal");
}
else
{
Console.WriteLine("Not Equal");
}
}
}
您必須同時查看名字和姓氏,如下所示:
foreach (DataRow row1 in dataTable.Rows)
foreach (DataRow row2 in dataTable.Rows)
{
var array1 = row1.ItemArray;
var array2 = row2.ItemArray;
if ((array1[1] == array2[1]) && (array1[2] == array2[2]))
{
Console.WriteLine("ID#" + array1[0].ToString() + " is equal to ID#" + array2[0].ToString());
}
else
{
Console.WriteLine("Not equal");
}
}
更新-要刪除自我發現問題,請更改if語句,如下所示
if ((array1[0] != array2[0]) && (array1[1] == array2[1]) && (array1[2] == array2[2]))
我假設您的意思是獲取名字=姓氏(如“標記標記”)的所有ID。
DataRow[] searchResults = dataTable.Select("fname = lname");
或循環
foreach (DataRow dr in dataTable.Select("fname = lname"))
{
//Do something cool.
}
您也可以嘗試如下操作:
var result = from dt in dataTable.AsEnumerable()
group dt by new { FirstName = dt.Field<string>("FirstName"), LastName = dt.Field<string>("LastName")} into g
where g.Count() > 1
select dt.id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.