powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ext GWT и пропадающий батон
14 сообщений из 14, страница 1 из 1
Ext GWT и пропадающий батон
    #38074243
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо сделать так, чтобы в гриде в зависимости от значения button либо был, либо отсутствовал. Есть идеи как это реализовать?
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074252
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExtGWT это тот который оригинальный? Проект же вроде закрыли из-за несовместимости лицензий GWT и ExtJS.
Там разве нет возможности логику в Cell Renderer запихать?
Кнопки в гриде это зло с точки зрения юзабилити.
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074260
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.gwt-ext.com/demo/#localXmlGrid

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ColumnConfig indoorCol = new ColumnConfig("Indoor?", "indoor", 55);  
        indoorCol.setRenderer(new Renderer() {  
            public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex,  
                                            int colNum, Store store) {  
                boolean checked = ((Boolean) value).booleanValue();  
//Тут анализируется Record и выбирается что вернуть кнопку или какой другой HTML наполнитель.
                return "<img class=\"checkbox\" src=\"js/ext/resources/images/default/menu/" +  
                                    (checked ? "checked.gif" : "unchecked.gif") + "\"/>";  
            }  
        });  
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074262
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

BlazkowiczExtGWT это тот который оригинальный? Проект же вроде закрыли из-за несовместимости лицензий GWT и ExtJS.
Этот

BlazkowiczТам разве нет возможности логику в Cell Renderer запихать?
Наверняка есть, вот только никак не соображу как и куда что запихивать.

BlazkowiczКнопки в гриде это зло с точки зрения юзабилити.
Наших дизайнеров это не волнует. :)
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074272
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devider Этот

А исходников нет к демкам? Чей-то они их зажали.

DeviderНаверняка есть, вот только никак не соображу как и куда что запихивать.
http://www.sencha.com/gxtdocs/#com.extjs.gxt.ui.client.widget.table.CellRenderer
Примеров вообще нет? Как вы кнопку помещаете а таблицу?

DeviderНаших дизайнеров это не волнует. :)
Они, вероятно, просто художники, а не дизайнеры. Вот их и не волнует.
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074277
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczА исходников нет к демкам? Чей-то они их зажали.

Ааа, есть внизу. Запхали куда подальше чтоб никто не увидел.
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074280
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074283
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074329
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за примеры. С "засунуть" я более или менее справился таким способом:

Код: java
1.
2.
3.
		grid = new Grid<Proposal>(new ListStore<Proposal>(
				PropProviders.Proposal.keyProvider()),
				presenter.getProposalColumnModel());


с последующим
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
		ColumnModel<Proposal> proposalsColModel = gridProposals
				.getColumnModel();
		TextButtonCell button = new TextButtonCell() {
			@Override
			public void render(com.google.gwt.cell.client.Cell.Context context,
					String value, SafeHtmlBuilder sb) {
				if (value.equals("чтототам")) {
				      //Магия here!
				}
			}
		};
		button.setText("Просмотр");
		button.setWidth(10);

		button.addSelectHandler(new SelectHandler() {

			@Override
			public void onSelect(SelectEvent event) {
				//DoSomething			}
		});


Вот что в render написать? И туда ли вообще?
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074382
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И последней строчкой во втором листинге разумеется
Код: sql
1.
proposalsColModel.getColumn(1).setCell((Cell) button);
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074389
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
if (value.equals("чтототам")) {
  return;
}
super.render(...)
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074439
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Это было бы слишком просто.. :)

Получаю16:22:38.003 [ERROR] [personal_proposals] Ungought exception
com.google.gwt.core.client.JavaScriptException: (TypeError) @com.google.gwt.core.client.impl.Impl::apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)([JavaScript object(363), JavaScript object(193), JavaScript object(2288)]): parent is null
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)
at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
at java.lang.Thread.run(Unknown Source)

при, кажется, перерисовке грида (мышкой двигаю по нему).
Вариант

Код: java
1.
2.
3.
4.
5.
6.
7.
				if ("ДА".equals(value)) {
					appearance.render(this, context, value, sb);
				} else {
					sb = new SafeHtmlBuilder();
					sb.appendHtmlConstant("<div>Йа невидимая кнопка!</div>");
					appearance.render(this, context, value, sb);
				}


ведет себя так же....
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074487
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда не используйте Cell, используйте Renderer.
Или откройте иходники ButtonCell и родительских классов, чтобы посмотреть что они там ещё полезного в render делают.
...
Рейтинг: 0 / 0
Ext GWT и пропадающий батон
    #38074624
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, костыль родился такого плана:
Код: java
1.
2.
3.
4.
5.
6.
7.
				if (StringUtils.YES.equals(value)) {
					super.render(context, value, sb);
				} else {
					sb.appendHtmlConstant("<div style=\"visibility: hidden\">");
					super.render(context, value, sb);
					sb.appendHtmlConstant("</div>");
				}



Пускай пока будет так. Спасибо за помощь и поддержку.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ext GWT и пропадающий батон
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]