0

に変換xmlしましたDataTable。私はdatatableこのようなものを持っています。ある特定のホテルの客室オプションについて説明しています。ボードタイプ、部屋タイプ、部屋料金が同じなら2部屋に分けたいです。

Room 1

Boards Type            Room Type            Room Price     Sleep Up To

Room Only              Double Standard        301.280       2 Guests    

Room Only              Double Standard        301.280       2 Guests    

このように似せていきたいです。

Room 1

Boards Type            Room Type            Room Price     Sleep Up To

Room Only              Double Standard        301.280       2 Guests  

Room 2

Boards Type            Room Type            Room Price     Sleep Up To

Room Only              Double Standard        301.280       2 Guests  

以下は、ゲストの数を使用してこれを破ろうとした私のコードです。それをした後、ゲストの数だけを使用してこれを壊すのは正しい方法ではないことがわかりました。だから私はこれを3つの列を使って壊し、部屋2として印刷したい.

PlaceHolder1.Controls.Add(new LiteralControl("<div class='type1 pd10-lr pd15-tb'>"));

                var noofroom = (from row2 in dt2.AsEnumerable()
                                where (Int64)row2["hotelcode"] == hotelcode
                                     select row2.Field<string>("guests")).Distinct();

                int a = 1;

                foreach (var rcount in noofroom)
                {


                        PlaceHolder1.Controls.Add(new LiteralControl("<div class='rhead'>" +
                 "Room " + a + "" +
                 "</div>" +
                            "<table class='roomtbl'>" +
                         "<tr>" +
                             "<td class='tdaltbg'>" +
                                 "<strong>&nbsp;" +
                             "Board Type</strong></td>" +
                             "<td class='style30'>" +
                                 "<strong>&nbsp;" +
                             "Room Type</strong></td>" +
                             "<td class='tdaltbg'>" +
                                 "<strong>&nbsp;&nbsp; Room Price</strong></td>" +
                                 "<td class='style30'>" +
                                 "<strong>&nbsp;" +
                             "Sleep Up To</strong></td>" +
                             "<td class='tdaltbg'>" +
                                 "<strong></strong></td>" +
                         "</tr>"));

                        DataRow[] drs = dt2.Select("hotelcode='" + hotelcode + "' AND guests='" + rcount + "'");
                        foreach (DataRow dr in drs)
                        {
                            PlaceHolder1.Controls.Add(new LiteralControl("<tr>" +
                                  "<td class='tdaltbg'>" +
                                     "&nbsp;" +
                                     "" + dr["board"] + "</td>" +
                                "<td class='style30'>" +
                                     "" + dr["roomtype"] + "</td>" +
                                 "<td class='tdaltbg'>" +
                                     "&nbsp;" +
                                     "£ " + dr["amount"] + "</span></td>" +
                                       "<td class='style30'>" +
                                     "&nbsp;" +
                                     " " + dr["guests"] + " Guests</span></td>" +
                                 "<td class='tdaltbg'>"));

                            PlaceHolder1.Controls.Add(new LiteralControl("<input type='radio' name='t1' data-price='308.560' checked='checked'/>" +
                                 "</td>" +

                             "</tr>"));
                        }
                        PlaceHolder1.Controls.Add(new LiteralControl("</table>"));
                        a++;

                }
4

1 に答える 1

0

これを試してください。ここでは、複数の列をパラメーターとして渡すことができ、distinct の場合は true です。

于 2013-07-29T06:47:36.563 に答える