2008-10-23 2 views

ответ

2

Я считаю, что вы должны использовать образы. Создается во время разработки или используется HttpHandler для генерации изображений во время выполнения, если они должны быть динамическими. Сделайте все поля поля TemplateFields и поместите изображение в HeaderTemplate. Вид утомительный, но это единственный способ, которым я могу думать. Возможно, некоторые сторонние средства управления сетью могут справиться с этим.

2

Silverlight может это сделать (как и Flash, я уверен). CSS3 будет поддерживать его. Но графический текст - это путь к успеху.

Вы можете использовать любую из нескольких методов скрытия текста в CSS, чтобы отобразить текст для доступных браузеров, но покажите графику (с вертикальным текстом) для зрячих пользователей.

1

Stu Nicholls имеет интересную технику HTML/CSS, если бит HTML многословный. Тем не менее, он не выполняет поворот слов, который вы ищете. Просто выкидывает другой вариант.

1

Если вы не против решения только для IE, вы можете использовать некоторые фильтры css, поддерживаемые IE. Что-то вроде этого:

<div style="width:100%; filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);"> 
    This text is rotated 90 degrees. 
</div> 
2

Я сделал это IE, используя следующий CSS, хотя это может быть ограниченно браузером, версия и т.д. ...

режим письма: ТБ-гм; фильтр: flipv fliph

+0

я использовал это в системах Интранет и всегда казалось, работать. – Kezzer 2008-12-24 12:27:05

1

В IE7 + вы можете использовать DX преобразования:

writing-mode: tb-rl; 
filter: flipv fliph; 

В старшем IE (для бедных душ, все еще застряли с ним):

filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3); 

В Safari/Chrome (на основе всего вебкита) вы можете использовать преобразование:

-webkit-transform: rotate(270deg); 

Последние версии FX имеют эквивалент:

-moz-transform: rotate(270deg); 

Но это еще не основной.

Я пытался сделать это с помощью графического текста, но имел few problems.

0

Я использовал команду на перерыв (ш) между каждой буквой

0
/*Do this in a loop for each header cell so Cells[0] to cells[however many] and however long the string is so use length properties to get the actual length of the text string */ 

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
     StringBuilder vtxt = new StringBuilder(); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(0,1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(1, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(2, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(3, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(4, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(5, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(6, 1)); 
      vtxt.Append("<br />"); 
      vtxt.Append(GridView1.HeaderRow.Cells[0].Text.ToString().Substring(7, 1)); 

      GridView1.HeaderRow.Cells[2].Text = vtxt.ToString(); 
     } 
+0

Добро пожаловать в stackoverflow! Пожалуйста, предоставьте краткое описание вышеуказанного кода, чтобы повысить точность сообщения :) – 2012-10-20 13:38:07

Смежные вопросы