2010-11-24 71 views
2

我正在由一個SqlDataSource填充的下拉列表,當我看到創建的HTML之後有很多的價值和文本的空間。這必須因爲在數據庫中的字段的長度爲50。下拉列表值和文本需要修剪

例如

的HTML是這樣

 <select name="DropDownList1" onchange="javascript:setTimeout('__doPostBack(\'DropDownList1\',\'\')', 0)" id="DropDownList1" style="height:23px;width:148px;"> 
    <option value="IT Dev           ">IT Dev           </option> 
    <option value="Marketing           ">Marketing           </option> 
    <option value="HR            ">HR            </option> 
    <option selected="selected" value="Finance           ">Finance           </option> 
    <option value="Corporate           ">Corporate           </option> 
    <option value="IT Support          ">IT Support          </option> 

</select> 

控件來源:

 <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource2" 
      DataValueField="dept_name" Height="23px" Width="148px"> 
      <asp:ListItem Text="All" Value="%"></asp:ListItem> 
     </asp:DropDownList> 

     <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:scConnString %>" 
      SelectCommand="SELECT dept_name FROM depts"></asp:SqlDataSource 

我可以修剪在下拉列表中我的SQL的值,或按項目已被填充後?

任何想法?

+0

DEPT_NAME爲varchar(50)或CHAR(50)修復它? – gbn 2010-11-24 19:52:15

回答

5

不能修整固定長度的數據。它會永遠被填充背出50

投下然後修剪

SELECT RTRIM(CAST(dept_name AS varchar(50))) AS dept_name FROM depts 

--other options, after comment 
SELECT RTRIM(CAST(dept_name AS varchar(50))) dept_name FROM depts 
SELECT dept_name = RTRIM(CAST(dept_name AS varchar(50))) FROM depts 

或者在客戶端代碼

+0

丟棄AS?或者把它放在dept_name之前? – Narveson 2010-11-24 20:13:18

0

我會建議在您的SQL微調:

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:scConnString %>" 
     SelectCommand="SELECT LTRIM(RTRIM(dept_name)) FROM depts"></asp:SqlDataSource 
+1

你不能修剪固定長度數據**和**你需要別名 – gbn 2010-11-24 19:53:43

1

更改的數據類型爲VARCHAR或nvarchar以便讓數據varible長度。

1

根據您的數據是如何提取,您可以修剪的兩端。對於第二個選項(人口)後,您可以使用OnDataBound事件,並通過項目迭代修剪它們。從SQL

0

內飾空間:

SELECT ltrim(rtrim(dept_name)) FROM depts 
+0

你不能修剪固定長度數據**和**你需要一個別名 – gbn 2010-11-24 19:53:10

相關問題