数据源到网格中的dsiplay; list <listofcargroups>其中ListofCarGroups是List <汽车列表> </汽车列表> </listofcargroups>

时间:2009-08-18 05:11:17

标签: c# linq-to-sql list

我明白我不能做像List<List<string,string>>这样的事情。所以我必须将每个对象放在一个类中,然后有一个类列表。 以下是我理解的问题。

  • FailedField 的属性为 FieldName,错误
    • 样本数据:“年”,“必须在1900-2100之间”
  • FailedFields FailedField 的列表;表示每条记录的 FailedField 列表
    • 样本数据:{(“年”,“必须在1900-2100之间” ),(“百分比”,“必须在0-100之间”)....}
  • FailedFieldsList 是多个记录的 FailedFields 列表

如果您想知道我为什么要尝试实现此数据结构,我会收集每次尝试在LINQ-to-SQL中插入记录失败的验证错误。

到目前为止我的代码:

在表示一个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;
    }
}

在MyDataContext

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;
    }
  }
}

在Codebehind

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可能不是最好的工具?

如果您认为某些内容可以帮助我了解我的错误,请提供您的参考资料。

我被困住了。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

听起来你正试图将FailedField记录列表的列表绑定到网格中。

问题是网格会显示你的(第一个)列表中的内容,在这种情况下,列表中的每个记录本身都是一个列表,那么你实际上想要显示网格是什么?

您需要将列表列表缩小到一个列表(如果您愿意,可以使用某些内容来标识组),或者如果有关于每个字符串对列表的信息,您可以使用主/详细类型的视图要显示,或者你可以使用树来钻取到你想要的水平。

考虑一下你真正想要展示什么,然后从那里向后工作。