Datagrid Table - Allow editing a field only when an other field contains data

zryip theSlug zryip.theslug at gmail.com
Sat Feb 9 10:49:32 EST 2019


Matthias,

A possible solution is to add an EditFieldText handler inside the datagrid
group script.

*command* EditFieldText pTheFieldEditor, pTheIndex, pTheCol
*end* EditFieldText

This message is invoked by the datagrid table prior to create the field
editor allowing to edit the cell.
Three parameters are passed :
- the field editor reference: pTheFieldEditor
- the index of the row: pTheIndex
- the key (the column name): pTheCol

The trick consist to test the name of the column the user is trying to edit
(for example col3 of the datagrid) :

*if* (pTheCol is "Col3") *then*


and then  get the content of the cell of another column by using the
GetDataOfIndex
function:

*put* GetDataOfIndex(pTheIndex, "Col2") into tTheValueToTest


If you want to allow the edition of the cell, then give a chance to the
EditFieldText  to reach the datagrid library

pass EditFieldText

if not, then simply not send it

And don't forget to pass the command for others columns of the datagrid.


Here is a final handler applying the recipe for a "col3" based of the
content of "col2". If the cell contains "yes" in col2 then the user is
allowed to edit the content of the cell in col3, if not the cell remains
locked. You can change "yes" for any value or change the test for checking
if the cel in "col2"l is empty or not


*command* EditFieldText pTheFieldEditor, pTheIndex, pTheCol
  *if* (pTheCol is "Col3")
*then**     put* GetDataOfIndex(pTheIndex, "Col2") into tTheValueToTest
     *if* (tTheValueToTest is "yes")
*then**        pass* EditFieldText
     *end*
*if*
*  else**   pass* EditFieldText
  *end*
*if**end* EditFieldText

On Fri, Feb 8, 2019 at 10:22 PM Bob Sneidar via use-livecode <
use-livecode at lists.runrev.com> wrote:

> Check the datagrid library.
> http://lessons.livecode.com/m/datagrid/l/7344-data-grid-api
>
> I believe there is a message sent when a field is opened for editing.
>
> Bob S
>
>
>
> > On Feb 8, 2019, at 11:51 , Matthias Rebbe via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> >
> > Hi,
> >
> > in a project i need the  possibility to allow editing a datagrid table
> field only if an other field in the same row contains a value.
> > Is this possible? Any suggestions?
> >
> > Regards,
> >
> > Matthias
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>


-- 
Zryip TheSlug
http://www.aslugontheroad.com



More information about the Use-livecode mailing list