0

私は現在、MS Access で作成されたシステムを変換しており、ASP クラシックを使用してすべての Web ベースを再プログラミングしています。私は少し問題を抱えていて、過去 2 日間、これについてウェブ全体を調べましたが、運がありませんでした。

私が達成しようとしているのは、Access の現在のシステムのような 3 つの単純な列として、HTML 選択リストで次の出力を探していると言うドロップダウン リストです。

会社を選ぶ

walmart         25 street Montreal 
crazy man       36 bad street Laval
bad company     36 ethos street app 32 Quebec 
hello world     36 apples Toronto

この出力は、SQL Server データベースからのものです。

私は次のことを試しました:会社名に含まれる文字数(たとえば..20文字)を数えてから、会社名に等間隔を追加したいので(100文字)とします。

この場合、金額 (100-20) を取り、これを会社名に追加してから、会社名を取り、それを住所と町に結合します。

ループを通過するたびに、計算をやり直します。

これはすべてaspクラシックで行われ、コードは次のとおりです

<select id="search_Comp" name="search_Comp">
<option value="0">---</option>
<%
'loop
while not RS.EOF

'check if the company name is smaller than 100 characters
if len(RS("Comp_Name")) < 100 then

 'calculation of the padding
  whiteSpaceSize = 100 - len(RS("Comp_Name"))

end if 

'create the spaces need
nameCompSP = space(whiteSpaceSize)

'add the spaces to the company name  
nameComp = trim(RS("Comp_Name")) & nameCompSP

'replace for spaces for html output
NnameComp = replace(nameComp," ","&nbsp;")


%>
<option value="<%= trim(RS("Comp_ID"))%>"><%=NnameComp %><%= trim(RS("Comp_CAdd1"))%></option>
<%
RS.MOVENEXT
wend 
%>
</select>

これはスペースを出力しますが、まだ整列しません!

私もSQLで試しましたが、うまくいきませんでした

-- here is the query example --
SELECT 
    Comp_Name + SPACE (100 – len(Comp_Name)) + Comp_CAdd1 AS Comp_Name 
FROM 
    company
/****address will always be 100 char way from the first char of Company, the space in between padded with spaces ***/

それでもスペースを含む列を出力しますが、整列しません...

誰かがこれで私を助けることができますか? Googleやフォーラムで何も見つけられず、情報もありません-本当に感謝しています...

K3v_n

4

1 に答える 1

0

使用されるデフォルトのフォントはプロポーショナルであるため、一列に並ぶことはありません。等幅フォントを使用する必要があります。

スタイルシートで、次を使用します。

select {
    font-family:courier;
    font-size:14px;
}
于 2013-01-30T22:04:11.887 に答える