把一個數組活着list轉化爲一個table或者dataset的方法

 QueryMSMQList queryMSMQ = new QueryMSMQList(".//private$//coreexchange");
            List<QueryMSMQCommon> queryList = queryMSMQ.mReceive();
            DataSet dsQueueMSMQ = new DataSet();
            DataTable dsQueueTable = new DataTable();
            DataColumn cTransactionId = new DataColumn("事務ID");
            DataColumn cSender = new DataColumn("文檔發送方");
            DataColumn cReceive = new DataColumn("文檔接收方");
            DataColumn cReceiveTime = new DataColumn("文檔接收時間");
            dsQueueTable.Columns.Add(cTransactionId);
            dsQueueTable.Columns.Add(cSender);
            dsQueueTable.Columns.Add(cReceive);
            dsQueueTable.Columns.Add(cReceiveTime);
            dsQueueMSMQ.Tables.Add(dsQueueTable);
            DataRow[] dataRow = new DataRow[queryList.Count];
            for (int i = 0; i < queryList.Count; i++)
            {
                dataRow[i] = dsQueueTable.NewRow();
                dataRow[i][0] = queryList[i].TransactionID;
                dataRow[i][1] = queryList[i].Sender;
                string sReceive = null;

                for (int iReceive = 0; iReceive < queryList[i].Receive.Count; iReceive++)
                {
                    sReceive = queryList[i].Receive[iReceive] + "," + sReceive;
                }
                dataRow[i][2] = sReceive;
                dataRow[i][3] = queryList[i].ReceiveTime;
                dsQueueTable.Rows.Add(dataRow[i]);

            }
            dataGridView1.DataSource = dsQueueMSMQ.Tables[0];

第一步:

創建dataset對象:

DataSet dsQueueMSMQ = new DataSet();

第二步

創建table對象:

DataTable dsQueueTable = new DataTable();

第三步:

創建DataColumn 對象:

            DataColumn cTransactionId = new DataColumn("事務ID");
            DataColumn cSender = new DataColumn("文檔發送方");
            DataColumn cReceive = new DataColumn("文檔接收方");
            DataColumn cReceiveTime = new DataColumn("文檔接收時間");

第四步:

把所有的列加入table中,把table加入dataset中:

            dsQueueTable.Columns.Add(cTransactionId);
            dsQueueTable.Columns.Add(cSender);
            dsQueueTable.Columns.Add(cReceive);
            dsQueueTable.Columns.Add(cReceiveTime);
            dsQueueMSMQ.Tables.Add(dsQueueTable);

第五步:創建dataRow對象並且把rows加入table中:

for (int i = 0; i < queryList.Count; i++)
            {
                dataRow[i] = dsQueueTable.NewRow();
                dataRow[i][0] = queryList[i].TransactionID;
                dataRow[i][1] = queryList[i].Sender;
                string sReceive = null;

                for (int iReceive = 0; iReceive < queryList[i].Receive.Count; iReceive++)
                {
                    sReceive = queryList[i].Receive[iReceive] + "," + sReceive;
                }
                dataRow[i][2] = sReceive;
                dataRow[i][3] = queryList[i].ReceiveTime;
                dsQueueTable.Rows.Add(dataRow[i]);

            }

 

 

 

 

 

 

 

 

 

發佈了28 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章