1

テストセットの名前でドロップダウン リストを作成しようとしています。フィルタリングの目的で必要です。以下のコードで試しました:

     function dropdownChanged(dropdown, eventArgs) {
       var selectedItem = eventArgs.item;
       var selectedValue = eventArgs.value;
     }

     function onLoad() {
       var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__',
                                                             '__PROJECT_OID__',
                                                             '__PROJECT_SCOPING_UP__',
                                                            '__PROJECT_SCOPING_DOWN__');
       var config = {
           type : "testset",
           attribute : "name"
         };

       var attributeDropdown = new rally.sdk.ui.AttributeDropdown(config,       rallyDataSource);
      attributeDropdown.display("aDiv", dropdownChanged);
    }

     rally.addOnLoad(onLoad);

誰でもそれで私を助けることができますか?

4

1 に答える 1

0

属性ドロップダウンの代わりにオブジェクト ドロップダウンを使用できます。このコードでは、属性ドロップダウンからテスト セットを選択すると、選択したテスト セットのテスト ケースが入力されたテーブルが生成されます。

     <script type="text/javascript" src="https://rally1.rallydev.com/apps/1.32/sdk.js"></script>
    <script type="text/javascript">
       var table = null;

       function showTable(results) {

        var t = " ";


         var tableConfig = {
            columnKeys   : ['Name','FormattedID','TestCases'],
            columnHeaders : ['Name','FormattedID','TestCases'],
            columnWidths : ['200px','200px', '400px']
            };
        table = new rally.sdk.ui.Table(tableConfig);

         for (var i=0; i < results.ts.length; i++) {
        if (results.ts[i].TestCases){

            console.log(results.ts[i].TestCases.length);
            for(var j = 0; j < results.ts[i].TestCases.length; j++){
                  // console.log(results.ts[i].TestCases.length);
                  // console.log(results.ts[i].TestCases[j].FormattedID);
                t += "  ";
                t += results.ts[i].TestCases[j].FormattedID;

            }
            results.ts[i].TestCases=t;
        }
         table.addRows(results.ts);


        table.display(document.getElementById('tableDiv'));
       }
       }

       function dropdownChanged(dropdown, eventArgs) {


      if(table) {
                table.destroy();
            }
            document.getElementById('tableDiv').innerHTML = "";
            var queryConfig = {
                type : 'testset',
                key  : 'ts',
                fetch: 'Name,FormattedID,TestCases',
                query: '(Name = "' + eventArgs.item.Name + '")'
            };
            rallyDataSource.findAll(queryConfig, showTable);
        }



       function onLoad() {
          rallyDataSource = new rally.sdk.data.RallyDataSource('111', //USE YOUR OIDs
                                                                 '222',
                                                                 'false',
                                                                 'false');
          var config = {
                type : "testset",
                attribute: "Name",
                query : '(ScheduleState = "Defined")'
             };
          var objectDropdown = new rally.sdk.ui.ObjectDropdown(config, rallyDataSource);
          objectDropdown.display("aDiv", dropdownChanged);
       }

       rally.addOnLoad(onLoad);

    </script>
</head>
  <body>
    <div id="aDiv"></div>
     <div id="tableDiv"></div>
</body>
</html>
于 2013-06-18T16:56:20.757 に答える