循环中的DataTable循环C#

时间:2012-06-21 21:48:17

标签: asp.net list datatable

我有一个很好的数据集循环,但是我需要根据父循环中的ID运行另一个循环。

我在一个单独的类中设置了一个通用列表,但我完全不知道如何实际调用它。我用谷歌搜索了它,但找不到我理解的例子。

编辑:

列表代码......

public class BinList
{
    public static List<Bin> GetById(int binOrderSiteID)
    {
        List<Bin> bins = new List<Bin>();

        SqlConnection conn;
        SqlCommand comm;
        SqlDataReader reader;

        using (conn = new SqlConnection(myConnectionHere))
        {
            comm = new SqlCommand("dbo.sl_BinsBySite", conn);
            comm.CommandType = CommandType.StoredProcedure;
            comm.Parameters.Add(new SqlParameter("@binOrderSiteID", SqlDbType.Int));
            comm.Parameters["@binOrderSiteID"].Value = binOrderSiteID;

            try
            {
                conn.Open();
                reader = comm.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Bin b = new Bin();
                        b.BinQty = reader["binQty"].ToString();
                        b.BinType = reader["binType"].ToString();
                        b.BinWasteGroupName = reader["binWasteGroupName"].ToString();
                        b.BinCollectionFrequencyType = reader["binCollectionFrequencyType"].ToString();
                        b.BinDeliveryStartDate = reader["binDeliveryStartDate"].ToString();
                        b.BinEmptyCharge = reader["binEmptyCharge"].ToString();
                        b.BinRentalCharge = reader["binRentalCharge"].ToString();
                        b.BinDutyOfCareCharge = reader["binDutyOfCareCharge"].ToString();
                        b.BinDeliveryCharge = reader["binDeliveryCharge"].ToString();
                        bins.Add(b);
                    }
                }
            }

            finally
            {
                conn.Close();
            }
        }

        return bins;
    }
}

这是每个字段的存储库

public class Bin
    {
        public string BinQty { get; set; }
        public string BinType { get; set; }
        public string BinWasteGroupName { get; set; }
        public string BinCollectionFrequencyType { get; set; }
        public string BinDeliveryStartDate { get; set; }
        public string BinEmptyCharge { get; set; }
        public string BinRentalCharge { get; set; }
        public string BinDutyOfCareCharge { get; set; }
        public string BinDeliveryCharge { get; set; }
    }

调用循环的代码

public class PDFCreator
{
    public static int BinOrderID { get; set; }

    private int binOrderID = 0;

    public PDFCreator(int intBinOrderID)
    {

    //Lots of code here

    //Data conenection/datatable code here

    foreach (DataRow row in dt.Rows)
            {
                //lots of code here

                //dont know how to connect up or call the List

                something?? = BinList.GetById(Convert.ToInt32(row["binOrderSiteID"].ToString()));

                foreach (//somnething here)
            }   
    }
}

抱歉,我最初没有添加我的代码。我不想展示它因为我认为它是裤子。

有什么想法吗?

干杯, 麻木

1 个答案:

答案 0 :(得分:0)

调用BinList GetById

var binList = BinList.GetById((int)row["binOrderSiteID"]);

foreach (var bin in binList)
{  
    // do what you need to do with bin variable
}