C# 使用数据集行
我有一个数据集,它是从一个Web服务获得的,我用它填充一个listview。到目前为止,我一直在这样做:C# 使用数据集行,c#,dataset,xamarin.android,rows,loops,C#,Dataset,Xamarin.android,Rows,Loops,我有一个数据集,它是从一个Web服务获得的,我用它填充一个listview。到目前为止,我一直在这样做: foreach (DataRow row in dsGetAvailUsers.Tables[0].Rows) { var item = new User(); item.sUserId = row ["sUserId"].ToString (); item.UserDesc = row ["UserDesc"].ToString (); item.UserIMG = row ["User
foreach (DataRow row in dsGetAvailUsers.Tables[0].Rows)
{
var item = new User();
item.sUserId = row ["sUserId"].ToString ();
item.UserDesc = row ["UserDesc"].ToString ();
item.UserIMG = row ["UserIMG"].ToString ();
listUsers.Add(item);
}
但是vas,因为我知道每个字段的名称,因为它是一个包含固定数据和字段名称的列表
但现在我得到的列表中,每项有10个字段,每项有12个字段,以此类推。
如何“动态”遍历行,然后如何在自定义适配器中处理它们(未知字段名和字段计数)?这样做
foreach (DataRow row in dsGetAvailUsers.Tables[0].Rows)
{
var item = new User();
for (int j = 0; j < dsGetAvailUsers.Tables[0].Columns.Count; j++)
{
if(dsGetAvailUsers.Tables[0].Columns[j].ColumnName == "sUserId")
item.sUserId = row ["sUserId"].ToString ();
else if(dsGetAvailUsers.Tables[0].Columns[j].ColumnName == "UserDesc")
item.UserDesc= row ["UserDesc"].ToString ();
.....
}
listUsers.Add(item);
}
foreach(dsGetAvailUsers.Tables[0].Rows中的数据行)
{
var item=新用户();
对于(int j=0;j
解决所有问题的代码
foreach (DataRow row in dsGetAvailUsers.Tables[0].Rows)
{
var item = new Dokument();
int i = 0;
item.Label = new Hashtable();
item.array = new Hashtable();
foreach (DataColumn _col in dsGetAvailUsers.Tables[0].Columns)
{
item.Label.Add(i, _col.ColumnName);
item.array.Add(_col.ColumnName,row[i].ToString());
++i;
}
listDokument.Add(item);
RunOnUiThread (() => {DokumentAdapter.Add (item); });
}
也许我这里遗漏了什么,但是你不能指定列索引吗?你能澄清你的问题吗?你想干什么?显示所有数据还是只显示其中的一部分?我想要匿名探测数据集。我回答了下面的问题:)