Мне нужно изменить значки сортировки по умолчанию для jqgrid . В настоящее время для каждого столбца отображаются стрелки вверх и вниз. Как я могу заменить его одним значком, который меняется при нажатии?
По сути, значок должен переключаться между возрастанием, убыванием и несортировкой.
Решение
Используя ответ Олега, я изменил стандартные значки с двумя стрелками по умолчанию. быть одной красной стрелкой вверх или вниз, которая переключается при сортировке.
jqGrid
заключен в div
с классом searchResults
.
Это делает значки заголовков красными:
.searchResults .ui-state-default .ui-grid-ico-sort.ui-icon
{
background-image: url("../images/ui-icons_cd0a0a_256x240.png");
}
Это центрирует значки, когда отображается только один значок, а другой скрыт:
.searchResults .ui-jqgrid .ui-icon-asc, .searchResults .ui-jqgrid .ui-icon-desc
{
height:12px;
margin-top:0px;
}
Это скрывает значок неактивной сортировки: Есть какой-либо способ сделать это. Пожалуйста, поделитесь своими ценными предложениями. ...
В моем приложении для Android я бы хотел использовать время, которое не исходит от устройства, а стандартное время, которое пользователь не может изменить. скажем, мое приложение PeopleEditor. Это сделано для загрузки и редактирования объектов People, которые являются сложными. Когда вы загружаете приложение, вы получаете домашний экран, который загружает группу людей в память - скажем, все они доступны через коллекцию, к которой я могу обратиться из своего контейнера. Нажав на персонажа, вы попадете на экран редактора. Редактор сложен, так что это не тривиальное представление основной детали, реализованное на одном экране.
Итак, на главном экране, когда я щелкаю человека, приложение должно создать новый вид, модель представления и показать вид , Если я сначала создаю модель представления через контейнер или нет, я могу инициализировать его с соответствующим объектом person. Это кажется мне очень естественным, поэтому мне трудно понять, почему представление «вид сначала» кажется преобладающим. Как бы я это сделал, используя подход «вид сначала»? Представление создаст модель представления, которая может попасть в коллекцию людей, но не знает, какой человек ее редактирует. РЕДАКТИРУЙТЕ для ясности: одновременно могут существовать несколько редакторов People, каждый из которых редактирует отдельного человека.
Ссылочная реализация MVVM в Prism 4.0 alpha использует «обработчик состояний», который в основном представляет собой сервис, который приложение использует для хранения параметра конструктора. в контейнере. Он сохраняет состояние и вызывает ShowView, а созданная в конечном итоге модель представления импортирует объект состояния. Это кажется мне неуклюжим - как будто он пытается притвориться, что он слабо связан, когда на самом деле это не так. У кого-нибудь еще есть другие указания?
nlawalker,
Я не эксперт, но то, что я узнаю о View-First и Model- Во-первых, это:
Не хочу сказать, что подход Model-Firs плох, но я предпочитаю подход View-First, потому что модель представления может находиться в коде позади, поэтому, когда какой-либо процесс требует необязательной дружественной задачи (PasswordBox, DialogConfirmation, ClosingForm и т. д.), я могу написать свою логику в коде позади.
В любом случае, для решения этого случая я обычно использовал комбинацию IOC и агрегатора событий. Вот оно:
Регистрация экземпляра модели представления на самом деле не требуется. это только для того, чтобы убедиться, что модель представления готова, когда событие отправляется предыдущей моделью представления.
ОБНОВЛЕНИЕ
, но затем, чтобы заполнить его любым локальным контекстом, мне нужно использовать глобальное средство для отправки ему события?
В вашем случае контекстный объект не является локальным, это скорее сообщение, передаваемое между вызовами объекта. Очевидно, что в вашем подходе, основанном на модели, вы делаете:
//selectedPeople is contextual object
myPeopleDetailVM.LoadData(selectedPeople)
это будет почти то же самое, когда вы передаете selectedPeople
в аргумент шины событий.
Если вы рассматриваете производительность, вы можете сравнить ее с системой маршрутизируемых событий WPF, в этом случае стратегия маршрутизации более сложна, чем шина событий, и я думаю, что если вы достаточно уверены в использовании маршрутизируемого события WPF, вам не следует с агрегатором событий.
Единственная проблема, которую я вижу, если вы используете встроенный агрегатор событий фреймворка (prism, mvvmlight), ваша модель представления загрязнена шиной событий, если вы жалуетесь на это, то я с вами согласен.
Надеюсь на помощь.