2009-06-23 1 views
1

Я использую DataGrid для отображения информации (например, имен и адресов в книжных магазинах), и я хочу отображать часы работы в подсказке onmouseover. Информация, которую я хочу показать onmouseover, находится в TemplateField, для которой Visible porperty установлен в false.DataGrid - Как отобразить содержимое скрытого шаблонаField при наведении мыши

Как я могу это достичь? Должен ли я использовать javascript и css?

Thanx

ответ

1

Да, вы не сможете сделать это ServerSide, так что яваскрипт и CSS.

Самый простой способ сделать это, вероятно, чтобы установить атрибут trueVisible снова (я не знаю точно, как он скрыт ...), а затем применить класс стиля к <div>, который вы хотите поп до:

.hidden 
{ 
    display: none; 
} 

Кроме того, дают <div> и id (он должен быть уникальным для разметки для проверки). Затем вы можете использовать jQuery, аккуратную библиотеку JavaScript, которая делает много вещей проще при написании клиентского кода, чтобы показать и скрыть подсказку со следующим кодом:

$(document).ready(function() { 
    $('#theMouseOverElement').hover(
     function() { 
      $('#theToolTip').show(); 
     }, 
     function() { 
      $('#theToolTip').hide(); 
     } 
    ); 
}); 

Если приведенный выше код выглядит jibberish к вы, посмотрите на jQuery documentation и особенно на функции hover и show/hide.

0

Вы не сможете «видеть» содержимое вашего шаблона, потому что если вы установите для свойства Visible значение false в aspx, html даже не будет отображаться и, следовательно, не будет доступен на клиенте ,

Что вам нужно, это разместить содержимое, которое вы хотите скрыть/показать внутри тега <div>, по умолчанию не указана, указав display: hidden; в классе css, затем используйте JavaScript для динамического изменения свойства отображения, а также позицию, если вы хотите, чтобы ваша «подсказка» появилась рядом с мышью.

Вот link к серии веб-трансляции, которая показывает, как это сделать (помимо всего прочего) с использованием jQuery