我想突出显示组合框中的文字(org.eclipse.swt.widgets.Combo
)。
例如,假设组合文本是" IP:6061"。 我想强调一下" IP"。我怎么能这样做?
答案 0 :(得分:2)
要选择组合文字的一部分,请使用Combo::setSelection()
例如
combo.setText( "IP:6061" );
combo.setSelection( new Point( 0, 2 ) );
会选择' IP' of IP:6061'。
答案 1 :(得分:2)
这是一个可重复使用的解决方案:
private void setSelection(Combo combo, String query)
{
String comboText = combo.getText();
int index = comboText.indexOf(query);
if(index != -1)
combo.setSelection(new Point(index, index + query.length()));
}
您可以添加else
子句以删除选择,如果您希望在文本中没有匹配时发生这种情况。
这样称呼:
Combo combo = ...
combo.setText("IP: 1.1.1.1");
String query = "IP";
setSelection(combo, query);
答案 2 :(得分:0)
您可能必须使用SELECT
COUNT(1) AS A1
FROM
dbo.CandidateExperience
WHERE
CandidateID = 50 AND
CandidateExperienceID <> 118 AND -- Good old ID 118
DeletedBy IS NULL AND
(
('2015-04-15 00:00:00' > StartDate AND '2015-04-15 00:00:00' < EndDate) OR
('2015-05-15 00:00:00' > StartDate AND '2015-05-15 00:00:00' < EndDate) OR
('2015-04-15 00:00:00' = StartDate AND '2015-05-15 00:00:00' = EndDate)
)
和getSelection()
的组合。但这个问题很模糊;因此,您可能只需要使用getText()
并将字符串过滤为您想要的字符。