1

我正在尝试使用 TestSets 的名称创建下拉列表。我需要它来过滤。我试过下面的代码:

     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 回答