Конкатенация текста перед отдельными записями базы данных с помощью Tcl - PullRequest
1 голос
/ 07 апреля 2010

Короче говоря, в настоящее время я использую следующий код для извлечения записей из нескольких таблиц в Sqlite Db и вставки их в один комбинированный список ($ SearchBar):

set SrchVals1 [db eval {SELECT DISTINCT Stitle From Subcontract Order By Stitle ASC}]
set SrchVals2 [db eval {...
set SrchVals3 ...
set SrchValsALL [concat $SrchVals1 $SrchVals2 $SrchVals3]
$SearchBar configure -value $SrchValsAll

Для переменной "SrchVals1"Я пытаюсь найти способ объединить текст «Sub:» для каждой отдельной записи в SrchVals1.Например, если SrchVals1 показывает следующие записи в выпадающем списке:

First Title
Second Title
Third Title

Я хотел бы объединить, чтобы записи в выпадающем списке выглядели так:

Sub: First Title
Sub: Second Title
Sub: Third Title

Я понимаю, чтоЯ мог бы использовать оператор foreach;тем не менее, мне не повезло в написании того, что добавляет «Sub:» перед каждой записью, в отличие от одного.Это кажется чем-то, что должно быть довольно простым, но я не могу понять это.

Кто-нибудь знает, как мне достичь этих результатов?

Спасибо,

DFM

1 Ответ

2 голосов
/ 07 апреля 2010

Ты прав.Команда foreach является правильным способом сделать это.Вот как:

set SrchValsALL {}
foreach value [concat $SrchVals1 $SrchVals2 $SrchVals3] {
    lappend SrchValsALL "Sub: $value"
}
$SearchBar configure -value $SrchValsAll
...