-2

適切なデータセット ループが機能していますが、親ループの 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)
            }   
    }
}

申し訳ありませんが、最初にコードを追加しませんでした。パンツだと思ってたので見せたくなかった。

何か案は?

乾杯、麻痺

4

1 に答える 1

0

BinList GetById を呼び出すには

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

foreach (var bin in binList)
{  
    // do what you need to do with bin variable
}
于 2012-06-22T09:15:52.150 に答える