GWT Celltable How to make Non-Editable cell in Editable column

1,544 views
Skip to first unread message

vaibhav bhalke

unread,
Oct 31, 2011, 6:38:25 AM10/31/11
to google-we...@googlegroups.com
Hi,

I added EditTextCell(stringTestEditTextCell) to Column(testColumn).

 EditTextCell editTextCell = new EditTextCell();
       Column<Record, String> stringColumn = new Column<Record, String>(
                editTextCell) {
            @Override
            public String getValue(Record object) {
             
                return object.getValue();
            }
        };

All cells in testColumn are editable.

 I want 1st cell of column such way that  1st cell of column should be Non-Editable.

--
Best Regards,
Vaibhav





Ashwin Desikan

unread,
Oct 31, 2011, 8:46:09 AM10/31/11
to google-we...@googlegroups.com, vaibhav bhalke
you mean 1st column of row to be non-editable or readonly. Use a
TextColumn or use TextCell instead of EditTextCell

Thanks
Ashwin

> <http://about.me/vaibhavbhalke>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Google Web Toolkit" group.
> To post to this group, send email to google-we...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-tool...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.


ozgur aydinli

unread,
Nov 1, 2011, 5:04:03 AM11/1/11
to Google Web Toolkit
Hi,

You can create your own cell, in the render method:

public class MyCustomeCell extends EditTextCell {

.......

public void render(Context context, String data, SafeHtmlBuilder sb)
{
if(context.getIndex()==0)
// render your own cell, a div or something... ex: <div>data</
div>
else
super.render(context,data, sb);
}

.......
> <http://about.me/vaibhavbhalke>

vaibhav gwt

unread,
Nov 2, 2011, 2:50:51 AM11/2/11
to Google Web Toolkit, ozgura...@gmail.com
Thanks Ozgur.

public void render(com.google.gwt.cell.client.Cell.Context context,
String value, SafeHtmlBuilder sb) {

if(context.getColumn()==2 && context.getIndex()==0 ){

sb.appendHtmlConstant("<div contentEditable='false'
unselectable='true'></div>"); // This non-editable cell
// This will work in mozila firefox ? <div
contentEditable='false' unselectable='true'></div>
}else{
super.render(context, value, sb);
}

}
It works fine as per my use case. :)

Now problem is when I am performing pagination then next N-1 page's
2nd_column of 1st cell is editable :|
How can I do it as non-editable on pagination ?

sanjay puri

unread,
May 29, 2012, 8:24:54 AM5/29/12
to google-we...@googlegroups.com, ozgura...@gmail.com
  
When user Clicking on perticular Row of Record error occured solution


private class CustomEditCell extends EditTextCell {
        private boolean click;

      
        public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) {
       
                   if(Condition)
                        sb.appendHtmlConstant("<div contentEditable='false' unselectable='false' >"+value+"</div>");    
                       
                    }else{
                        super.render(context, value, sb);
                    }
                }
            }   
        }        


public void onBrowserEvent(Context context, Element parent, String value,
                  NativeEvent event, ValueUpdater<String> valueUpdater) {
           
                    if(Condition)
                        click = false;
                     }else{
                         click = true;
                     }
                }
            }
           
             if (click) {
                    super.onBrowserEvent(context, parent, value, event, valueUpdater);
             }
        }
         
        public void setClick(Boolean click) {
                this.click = click;
        }




 
Reply all
Reply to author
Forward
0 new messages