我明白我不能做像List<List<string,string>>
这样的事情。所以我必须将每个对象放在一个类中,然后有一个类列表。
以下是我理解的问题。
如果您想知道我为什么要尝试实现此数据结构,我会收集每次尝试在LINQ-to-SQL中插入记录失败的验证错误。
public partial class FailedFields
{
public List<FailedField> ListOfFailedFieldsInOneRecord = new List<FailedField>();
public void addFailedField(FailedField f)
{
ListOfFailedFieldsInOneRecord.Add(f);
}
public int getFailedFieldsCount()
{
return ListOfFailedFieldsInOneRecord.Count();
}
}
public partial class FailedField
{
public string fieldName;
public string message;
public FailedField(string vField, string vMessage)
{
this.fieldName = vField;
this.message = vMessage;
}
public override string ToString()
{
return fieldName + ", " + message;
}
}
public partial class MyClassesDataContext
{
public partial class FailedFieldsList
{
private static List<Slab.FailedFields> ErrorList = new List<Slab.FailedFields>();
public void AddErrorList(Slab.FailedFields errs)
{
ErrorList.Add(errs);
}
public List<Slab.FailedFields> GetErrorList()
{
return ErrorList;
}
}
}
MyClassesDataContext.FailedFieldsList FailedRecords = new MyClassesDataContext.FailedFieldsList();
ErrorBoxGridView.DataSource = FailedRecords.GetErrorList();
ErrorBoxGridView.DataBind();
|------------------------------------------------------------------------------|
| Record # | Field_1 | Error_1 | Field_2 | Error_2 | ... | Field_10 | Error_10 |
|------------------------------------------------------------------------------|
| Data | Data | Data | Data | Data | ... | Data | Data |
|------------------------------------------------------------------------------|
从Visual Studio调试器,我知道我正在填充FailedFieldsList类的对象。我不知道我哪里出错了。数据结构的逻辑是错误的,或者我没有正确访问对象。或者在这种情况下List可能不是最好的工具?
如果您认为某些内容可以帮助我了解我的错误,请提供您的参考资料。
我被困住了。任何帮助表示赞赏。
答案 0 :(得分:1)
听起来你正试图将FailedField记录列表的列表绑定到网格中。
问题是网格会显示你的(第一个)列表中的内容,在这种情况下,列表中的每个记录本身都是一个列表,那么你实际上想要显示网格是什么?
您需要将列表列表缩小到一个列表(如果您愿意,可以使用某些内容来标识组),或者如果有关于每个字符串对列表的信息,您可以使用主/详细类型的视图要显示,或者你可以使用树来钻取到你想要的水平。
考虑一下你真正想要展示什么,然后从那里向后工作。