
1.手动添加一个el-table-column,设type属性为selection即可
<el-table-column type="selection" width="100px"></el-table-column>
2.在el-table-column中设置label属性并不会起作用,因此全选二字需要使用CSS来实现
.el-table__header .el-table-column--selection .cell .el-checkbox:after {
color: #333
content: "全选"
font-size: 16px
margin-left: 12px
font-weight: bold
}
这个样式实测有效!
1,直接添加控件for(int i = 0i <tableCount++i) {
const QString table = tableNames.at(i)
{
QWidget *widget = new QWidget(ui->tableWidget_table)
QHBoxLayout *hLayout = new QHBoxLayout()
QCheckBox *checkBox = new QCheckBox()
hLayout->addWidget(checkBox)
hLayout->setMargin(0) // 必须添加, 否则CheckBox不能正常显示
hLayout->setAlignment(checkBox, Qt::AlignCenter)
widget->setLayout(hLayout)
ui->tableWidget_table->setCellWidget(i, TABLE_CHECKED_COLUMN, widget)
}
2,使用代理 实例里面有的
给你一个实现的方案:假设这个table的id为“table”
public void clickName(String name){//获取table的总行数
//如果/table/tbody中的tr有class属性为"tr",且在tbody之外没有控件的class属性是这个
int rowNum = driver.findElements(By.className("tr")).size()
//如果没有上面那个条件,则使用tagName获取tbody内的行数
int rowNum = driver.findElement(By.xpath("//table[@id = 'table']/tbody"))
.findElements(By.tagName("tr")).size()
//循环获取每一行的姓名,和传入的Name比较,是的话勾选方括号
for(int i = 1i<=rowNumi++){
String rowName = driver.findElement(By.xpath("//table[@id='table']/tbody/tr["+i+"]")/td[3])).getText()
if(name.equals(rowName)){
driver.findElement("//table[@id='table']/tbody/tr["+i+"]")/td[1])).click()
break
}
}
}
//大概的代码应该是这样,太久没写了,如果点击名字可以勾选到的话实现起来就更加简单。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)