2013-03-12 30 views
-3

我遇到了CSS不能在已經大寫的文本上使用text-transform: capitalize的問題。不幸的是,從我的數據庫返回的文本在很多情況下都是大寫的。而不是把LOWER(X)放在我從數據庫請求的每一個字段之前,或者在每個字段上調用一個JS函數,似乎使用一個只針對返回的整個數據表的解決方案會更容易,然後使用text-transform: capitalize在頁面的CSS中。以小寫顯示數據表中的所有文本,或小寫所有使用css的文本中的文本text-transform:capitalize?

任何建議,一個簡單的方法來做到這一點?或者,一種方法可以將頁面上的所有文本(JS,也許是?)定爲小寫,然後將CSS部分重新注入就可以了。我正在尋找最簡單的解決方案,無論這可能是什麼(並重寫大量的查詢根本就不是它)。

+0

你可以使用一些內置的功能爲.ToUpper(),.ToLower這種使用1個字段名,或者你可以寫自己的'ToProperCase'我已經寫了一個在我的最後項目,但不幸的是我沒有與我的代碼。你看過'使用Microsoft.VisualBasic''namespace'看看是否有一個ProperCase函數..看看運行一個'SWL服務器函數',將ProperCase所有你的數據在數據庫或特定的領域 – MethodMan 2013-03-12 16:50:29

+0

本,你想嗎看到關於如何使用SQL來做這個的幾個例子? – MethodMan 2013-03-12 16:53:10

+0

ToUpper和ToLower有問題,他們必須在現場調用。 DJ:我知道如何在select語句中使用LOWER(X) - 這是在原始問題中陳述的。 :)如果你知道一種方法來對所有返回的字段執行全部LOWER,那麼這將是有用的。 – Ben 2013-03-12 16:55:21

回答

1

Ben您可以使用此選擇查詢針對您的DataTable 您需要根據您的表格調整字段。我只顯示名爲DESC

select 
    DESC = 
    -- Adjust the length of your filed(s) for example DESC is varchar(500) 
    convert(varchar(500), 
    upper(substring(DESC,1,1))+ 
    lower(substring(DESC,2,499))) 
from 
    YouTable Name 
+0

DJ:這是一種有效的方法。 ToLower()也可以工作,就像SQL查詢本身的LOWER(x)一樣;我從來沒有如何針對單一變量的問題,因爲我知道在實踐中如何做到這一點。我的問題是,是否有辦法在SQL查詢中使用命令,針對數據表,還是針對頁面文本作爲整體進行操作,從而一舉解決問題。根據對問題的回答,似乎沒有辦法做到這一點。考慮到這一點,我將編輯SQL查詢作爲最簡單的方法。 – Ben 2013-03-12 17:13:35

+0

我有一個查詢,您可以針對您的數據表運行我會回答一秒 – MethodMan 2013-03-12 17:15:17

0

使用CSS來做到這一點是不正確的。小寫什麼在你的數據庫中,更容易與否。

0

最簡單的方法就是更改數據庫中的數據,這樣就沒有大寫的字符串,並且讓CSS做它的事情。無論如何,僅僅使用JS/CSS就不行。

+0

我不能改變數據庫中的數據 - 這只是一個應用程序的許多人,無論出於何種原因那些寫入數據的文件就是大寫的。 – Ben 2013-03-12 16:51:55

+1

你只需要在數據庫請求中輸入'LOWER()'字段,然後,恐怕 - 這比在每個客戶端瀏覽器上這樣做要快得多(由於在服務器端緩存等) – hexblot 2013-03-12 16:54:13

+1

這聽起來像是一個完全不好的設計/應用程序本..好的使用內置功能轉換/顯示數據在適當的情況下,然後 – MethodMan 2013-03-12 16:55:30

相關問題