Телерик сетка и крупные ячейки - PullRequest
1 голос
/ 19 января 2012

У меня проблема с ASP.NET MVC Telerik Grid. В моей сетке есть столбец комментариев, а некоторые столбцы содержат слишком большой текст. Это влияет на высоту строки. Мне нужно, чтобы все ряды имели одинаковую высоту. Как я могу уменьшить текст? Я пытался добавить HTML-аббревиатуру, но он не работает.

С наилучшими пожеланиями, Пол.

1 Ответ

1 голос
/ 20 января 2012

Используя пользовательское форматирование , вы можете проверить длину текста, а если длина текста превышает определенное число, вы можете ограничить длину с помощью подстроки. Например, если ваш столбец комментариев называется «Комментарий», вы можете сделать что-то вроде этого:

Html.Telerik().Grid(Model)
.Name("MyGrid")
.CellAction(cell => 
  {
    if (cell.Column.Title != null)
    {
      if (cell.Column.Title.Equals("Comment"))
      {
        if (cell.DataItem.Comment.Length > 25)
        {
          cell.Text = cell.DataItem.Comment.Substring(0, 25) + "...";
        }
      }
    }
  });

Обновление Вы просили показать полный комментарий. Я не знаю простого способа, встроенного в элемент управления telerik, но вы можете сделать это с помощью css. Я использую код CSS из kollermedia.at , но есть много примеров подсказок CSS, если вы хотите другой стиль.

В вашем css вставьте что-то вроде этого:

/* tooltip */
a:hover {background:#ffffff; text-decoration:none;} /*BG color is a must for IE6*/
a.tooltip span {display:none; padding:2px 3px; margin-left:8px; width:130px;}
a.tooltip:hover span{display:inline; position:absolute; background:#ffffff; border:1px solid #cccccc; color:#6c6c6c;}

Затем измените строку в вашем представлении следующим образом:

cell.Text = "<a class=\"tooltip\" href=\"#\">" + cell.DataItem.Comment.Substring(0, 25) + "<span>" + cell.DataItem.Name + "</span></a>";

При наведении курсора на сокращенный текст полный текст отображается во всплывающей подсказке.

...