2016-03-29 10 views
1

私はVS 2015、VBnetのウィンドウ形式を使用しています。Visual Studioのバインドされたコンボボックスの奇妙なスペース2015

空のスペースを排除するために、姓と名のフィールドがvarchar(15)に設定されていますが、実行時にコンボボックス内の名前には奇妙な間隔の問題があります。どうしましたか?

enter image description here


UPDATE:私は固定フォント使用して揃えたテキストを取得するために管理してきました(例:宅配便を)が、SQLはVARCHARを使用しているが、今私はまだコンボで末尾のスペースを持っています末尾のスペースを隠すことになっています。私は私に次のような結果を与える、トリムなしにしようとしたのForm_Loadで

:(最初と最後の名前の後に余分なスペースを持っている)

enter image description here **

これは私がのForm_Loadで使用したクエリです。

Me.VINEWOODSTUDIOS_DataSet.tbl_clients.Columns.Add("FullName", GetType(String), "client_id +' ' + client_first_name + client_last_name") 
    Me.Tbl_clientsTableAdapter.Fill(Me.VINEWOODSTUDIOS_DataSet.tbl_clients) 
    ComboBox_clients.DisplayMember = "FullName" 

クエリでTRIM機能を実装する方法がわかりません。私はLTRIMとRTRIMを試してみましたが、これは助けにはならない:(RTRIMの例:)

Me.VINEWOODSTUDIOS_DataSet.tbl_clients.Columns.Add("FullName", GetType(String), "client_id +' ' + RTRIM(client_first_name) + RTRIM(client_last_name)") 
    Me.Tbl_clientsTableAdapter.Fill(Me.VINEWOODSTUDIOS_DataSet.tbl_clients) 
    ComboBox_clients.DisplayMember = "FullName" 

私はテキストは次のようになりたい:最初の後

1001 Eran Zadok 
1003 Tomer Zakaim 

等...ないスペースと苗字。

+1

あなたは[_fixed font_](https://en.wikipedia.org/wiki/Monospaced_font)を使用していません。各文字はそれぞれの幅を持ちます。固定のもの(宅配便など)で試してください。問題は消滅します。それを確認すると、回答として投稿します。 – Hastur

+0

Ops私はスタックオーバーフローにいると思った。私はこの質問がこれ以上のものであると思う。おそらくそれはそこに移されます。 – Hastur

+0

はい、これは間違いなくStack Overflowに属していますが、ボックスの作成方法に関する質問にはさらに詳しい情報が必要です。 –

答えて

1

ちょうど: comboboxのエントリに表示されているものの3つの文字列を追加している可能性があります。
姓と名はいずれも固定長の15文字です。 これは、配列の最初の要素の名前がであることを意味します。の後に11個のスペースがあります。name[x]="Erin "

あなたはfixed fontを使用していないことがわかります。各文字はそれぞれの幅を持ちます。
固定電話(宅配便など)でお試しください。問題は消滅します。

今では固定されたフォントで表示されますどのように見て

name[x]="Erin   " 

名前[X] = "エリン"

そのフォントの場合アプリケーションの一部はシステムに依存しますが、この動作は選択肢によって異なりますそれぞれの単一ユーザーの

+0

これは助けになりました。私はCourierを使って名前と姓が整列したが、名前の後に余分なスペースは残っていた。次は何?コメントに画像を追加する場所はありませんので、スクリーンショットを見るためのリンクがあります:http://www.vinewoodstudios.com/vbnet-font –

+0

_extra spaces_を文字列の長さに15を加えて追加しました。 15の名前を入れて、そこにはありません;)。あなたの名前をすべてスキャンし、最大長を覚えて、そのスペースの長さ(+1)で文字列の書式を構成する必要があります。あなたの質問を編集して、文字列と希望する出力をコードのように追加します(固定フォントを使用します)。 – Hastur

+0

私はSql Serverでデータベースを作成しました。ここでは、データ型セクションにchar番号を入力する必要があります。そうしないと、デフォルトは50になります。だから私は実際に冗談ではない...私は理解していない。私はVBコードで文字列を "形成"していません...コンボは、SQL DBからデータを取得しているデータセットからそれ自身を埋めています。私はあなたを理解していないと思う。 –

関連する問題