基于Caption属性从数据集中获取数据
本文关键字:数据 数据集 获取 集中 Caption 属性 基于 | 更新日期: 2023-09-27 18:20:58
我正在使用WCF服务来获取另一个数据库的数据。有一个Web方法GetAnalyst可以重新运行数据集。
public DataSet GetAnalysts()
{
}
分析师名单见第一张表:
List<Analyst> Analysts = new List<Analyst>();
DataSet ds = null;
try
{
ds = EServiceClient.GetAnalysts();
}
if (ds != null)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
var analyst = new Analyst()
{
Name = row[1].ToString(),
LastName = row[2].ToString(),
PhoneNumber = row[3].ToString(),
Email = row[4].ToString()
};
sectorService.SetSectorByName(ref analyst, row[0].ToString());
Analysts.Add(analyst);
}
}
问题是索引发生了变化,有时名称是第一个,有时在第2列。。。。
唯一可以修复的是列的标题。例如,包含名称的列的标题是name。。。。
如何根据标题检索属性。
感谢
您可以只使用row["columnname"].ToString()
根据实际列名而不是列索引来检索数据。
我刚刚写了一个方法来获得基于标题值的索引
public virtual int GetIndexByCaption(string caption, DataTable dt)
{
int columnIndex = -1;
try
{
foreach (DataColumn column in dt.Columns)
{
if (column.Caption == caption)
{
columnIndex = dt.Columns.IndexOf(column);
break;
}
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
return columnIndex;
}