我正在尝试编写一个函数,它将返回一个网格的列索引,基于该列的标题文本。我做了很多尝试,这些尝试出现在下面的评论中。最后,该函数总是返回-1,而不是预期的列索引。使用WebStorm调试器,我已经能够验证进入函数的参数正在被填充。
此外,你可以看到我的一个尝试,通过CSS选择器,这是一个绝望的方法。
public getColumnIndexByHeaderText(gridId: string, headerText: string): number {
var GRID_HEADER_REPEATER: string = 'col in colContainer.renderedColumns track by col.uid';
var columnIndex: number = -1;
// Attempt A
element(by.id(gridId)).all(by.repeater(GRID_HEADER_REPEATER)).getText().then(function (textArray) {
columnIndex = textArray.indexOf(headerText);
});
// Attempt B
element(by.id(gridId)).then(function (grid) {
grid.all(by.repeater(GRID_HEADER_REPEATER)).getText().then(function (textArray) {
columnIndex = textArray.indexOf(headerText);
});
});
// Attempt C
element.all(by.repeater(GRID_HEADER_REPEATER)).filter(function (elm, index) {
return elm.getText().then(function (text) {
if (text === headerText) {
return index;
}
});
});
// Attempt D
var cssSelector = '#' + gridId + ' .ui-grid-header span.ng-binding';
element.all(by.css(cssSelector)).getText().then(function (textArray) {
columnIndex = textArray.indexOf(headerText);
});
return columnIndex;
};
我尝试过的其他方法(此处未显示)也失败了。感觉我只是忽略了一些基本的东西。感谢您的帮助。
他与一位同事合作,指出了我上述方法的几个突出问题。他能够解决以下问题:
首先,返回promise而不是数字所需的函数签名。注意返回类型和返回语句。
public getIndexByHeaderText(gridId: string, headerText: string): protractor.promise.Promise<number> {
var GRID_HEADER_REPEATER: string = 'col in colContainer.renderedColumns track by col.uid';
return element(by.id(gridId)).all(by.repeater(GRID_HEADER_REPEATER)).getText().then(function (textArray) {
return textArray.indexOf(headerText);
});
};
其次,对该函数的调用需要将其视为一个promise,并通过then函数语法来分配返回值,就像这样。
it('Should do something', function() {
lib.grid.getRow.byRowIdentifier(page.GRID_ID, newUserEmailPrefix, 'name').then(function (gridReturnObject) {
lib.grid.column.getIndexByHeaderText(page.GRID_ID, 'Header Text').then(function (columnIndex) {
var deactivateButtonCell = gridReturnObject.rowCellElements[columnIndex];
// Other code omitted for clarity...
});
});
});
问题内容: 对于这个有争议的问题,我无法得到明确的答案。 MSDN文档中提到 聚类 聚集索引根据它们的键值对数据行进行 排序 并将其存储在表或视图中。这些是索引定义中包括的列。只能有一个每个表的聚集索引,因为数据行本身可以 进行排序 在只有一个订单。 表中的数据行唯一 按排序 顺序存储的时间是表包含聚簇索引时。当表具有聚簇索引时,该表称为聚簇表。如果表没有聚集索引,则其数据行将存储在称为堆的无序结
问题内容: 这个问题已经在这里有了答案 : SELECT查询是否总是以相同顺序返回行?具有聚集索引的表 (1个答案) 6年前关闭。 对于这个有争议的问题,我无法得到明确的答案。 MSDN文档中提到 聚类 聚集索引根据它们的键值对数据行进行 排序 并将其存储在表或视图中。这些是索引定义中包括的列。只能有一个每个表的聚集索引,因为数据行本身可以 进行排序 在只有一个订单。 表中的数据行唯一 按排序 顺
我有一个python数据框,我使用以下代码将其粘贴到excel工作表中: df.to_excel(作家,列=[周刊,周刊1,周刊2],sheet_name='QTY SLS',启动=5,启动=8,头=假,索引=假) 在数据帧weeknum、Weeknum1和Weeknum2中选择的列是代码前面的输入(例如weeknum=第14周)。因此,这些可能是[‘第16周’、‘第15周’、‘第14周’]作为一
问题内容: 我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是,则需要返回。 这个问题以字节为单位发布,但我认为我会在这里重新发布。 http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index- sorted-item 我的具体需求是根据对象的属性对对象列表进行排序。然后
我看了那篇文章,https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-active-directory并创建了应用程序角色 以下endpoint使用用户角色进行授权 我想引入一个额外的Getendpoint来返回
我有几个谷歌表,我连接和更新他们之间的单元格。现在,我必须使用R1C1或A1类型引用来定义基于特定列的获取或设置单元格。 如果添加了新列,所有这些引用现在都将关闭。 每个工作表的第一行都有列标题作为这些单元格中的值。 我能否以[columnHeader]5等格式引用该列第五行中的单元格? 我曾想过将每个单独的列标题设置为“命名范围”,但我一直无法使用[named range]5引用单元格。 我想我