# How to disable Edit in Place for a column at runtime

**URL:** <https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737>\
**Category:** tips\
**Tags:** eip, browse\
**Created:** [July 22, 2019, 10:08pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737 "2019-07-22T22:08:13Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rick\_UpperPark](https://clarionhub.com/user_avatar/clarionhub.com/rick_upperpark/32/346_2.png) [@Rick\_UpperPark](https://clarionhub.com/u/Rick_UpperPark)\
**Post date:** [July 22, 2019, 10:08pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/1 "2019-07-22T22:08:13Z")

</div>

If you want to conditionally disable edit in place for column you can use the EIPManager’s GetEdit() method to accomplish this.

GetEdit returns true or false indicating whether or not EIP is valid for the current column.

Embed this in the GetEdit method before the Parent call.

```auto
IF SELF.Column = ### AND <Your condition to disallow edting>
  RETURN false
END

```

---

<div class="post-metadata">

**Author:** ![yoram](https://clarionhub.com/letter_avatar_proxy/v4/letter/y/e0b2c6/32.png) [@yoram](https://clarionhub.com/u/yoram)\
**Post date:** [July 26, 2019, 4:25pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/2 "2019-07-26T16:25:56Z")

</div>

I like to use the form

IF ?List:GD {PROPLIST:Header,SELF.Column} = ‘Account Name’ AND \<condition…\>  
RETURN false  
END

as it keeps working even if new columns are added.

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [July 26, 2019, 5:55pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/3 "2019-07-26T17:55:46Z")

</div>

> [@yoram](#):
>
> IF ?List:GD {PROPLIST:Header,SELF.Column} = ‘Account Name’ AND \<condition…\>  
> RETURN false  
> END

This is more flexible:

```
IF SELF.ListControl{PROPLIST:Header,SELF.Column} = ‘Account Name’ AND <condition…>
  RETURN false
END

```

---

<div class="post-metadata">

**Author:** ![yoram](https://clarionhub.com/letter_avatar_proxy/v4/letter/y/e0b2c6/32.png) [@yoram](https://clarionhub.com/u/yoram)\
**Post date:** [July 26, 2019, 8:40pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/4 "2019-07-26T20:40:45Z")

</div>

Thanks Mike, that’s even better.

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [July 26, 2019, 8:59pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/5 "2019-07-26T20:59:33Z")

</div>

For circumstances with dynamic header strings (or no header strings), it might be more reliable to ascertain which field by using PROPList:FieldNo and WHO().

---

<div class="post-metadata">

**Author:** ![Rick\_UpperPark](https://clarionhub.com/user_avatar/clarionhub.com/rick_upperpark/32/346_2.png) [@Rick\_UpperPark](https://clarionhub.com/u/Rick_UpperPark)\
**Post date:** [July 30, 2019, 4:21pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/6 "2019-07-30T16:21:56Z")

</div>

I use a template to generate equates for the column numbers. Then use those in code instead of hard-coded column numbers.

---

<div class="post-metadata">

**Author:** ![Clarion\_clarion](https://clarionhub.com/user_avatar/clarionhub.com/clarion_clarion/32/636_2.png) [@Clarion\_clarion](https://clarionhub.com/u/Clarion_clarion)\
**Post date:** [August 5, 2019, 1:31pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/7 "2019-08-05T13:31:37Z")

</div>

I need to enable/disable EIP for currently selected record according to value for one field from the current record. Can’t get it works. Any hint, please?

---

<div class="post-metadata">

**Author:** ![Rick\_UpperPark](https://clarionhub.com/user_avatar/clarionhub.com/rick_upperpark/32/346_2.png) [@Rick\_UpperPark](https://clarionhub.com/u/Rick_UpperPark)\
**Post date:** [August 5, 2019, 2:59pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/8 "2019-08-05T14:59:18Z")

</div>

Put your logic at the top of the browse AskRecord method before the parent call.  
Return RequestCancelled to stop editing.

---

<div class="post-metadata">

**Author:** ![Clarion\_clarion](https://clarionhub.com/user_avatar/clarionhub.com/clarion_clarion/32/636_2.png) [@Clarion\_clarion](https://clarionhub.com/u/Clarion_clarion)\
**Post date:** [August 6, 2019, 7:15am UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/9 "2019-08-06T07:15:20Z")

</div>

> [@Rick\_UpperPark](#):
>
> AskRecord

It works!! Thanks!! 👍

---

<div class="post-metadata">

**Author:** ![totalhip](https://clarionhub.com/user_avatar/clarionhub.com/totalhip/32/1477_2.png) [@totalhip](https://clarionhub.com/u/totalhip)\
**Post date:** [August 6, 2019, 1:46pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/10 "2019-08-06T13:46:27Z")

</div>

Rick,

Any chance you might share the relevant template or template code for generating the column equates?  
It probably is not complex, but my guess is that I am not the only one whose last dip into template symbols was in the pre-dementia coding era.

---

<div class="post-metadata">

**Author:** ![Rick\_UpperPark](https://clarionhub.com/user_avatar/clarionhub.com/rick_upperpark/32/346_2.png) [@Rick\_UpperPark](https://clarionhub.com/u/Rick_UpperPark)\
**Post date:** [August 7, 2019, 3:57pm UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/11 "2019-08-07T15:57:23Z")

</div>

Sure thing.  
I wrote up a ClarionHub topic and linked to a sample template on Github.

> [@Template for generating column equates for ABC browse](https://clarionhub.com/t/template-for-generate-column-equates-for-abc-browse/2763):
>
> Instead of using hard-coded numeric constants for column numbers in code for manipulating your list control columns, it is better to use an equate for the column number. Hard-coded column numbers can become incorrect when new columns are added or columns deleted or reordered in the list format. I have uploaded a small example template that automatically generates equates for the columns in your list control. Using the use equates means your code won’t need to be updated when the order of your…

---

<div class="post-metadata">

**Author:** ![ThaDaSoft](https://clarionhub.com/user_avatar/clarionhub.com/thadasoft/32/3743_2.png) [@ThaDaSoft](https://clarionhub.com/u/ThaDaSoft)\
**Post date:** [June 19, 2025, 7:23am UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/12 "2025-06-19T07:23:10Z")

</div>

Found this thread - applied the solution on a Browse with Key/Value pairs - so on certain keys the editing of the value is disabled - but, when I do this and one double clicks on the `value` to edit it - when it’s disabled, the whole window freezes

---

<div class="post-metadata">

**Author:** ![ThaDaSoft](https://clarionhub.com/user_avatar/clarionhub.com/thadasoft/32/3743_2.png) [@ThaDaSoft](https://clarionhub.com/u/ThaDaSoft)\
**Post date:** [September 5, 2025, 7:50am UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/13 "2025-09-05T07:50:18Z")

</div>

If I return `false` or `0` from the GetEdit before the parent call as suggested (I am still on legacy templates so I don’t see `AskRecord`) - The application crashes due to an assert on line 1313 in `ABEIP.clw` - anyone know how to fix this? I thought it freezed before but now I get an actual exception and the application quits…

 ![afbeelding](https://clarionhub-uploads.s3.eu-north-1.amazonaws.com/original/2X/2/261de085f040c138afb3b9e408306e535c73c539.png)

I want to disallow editing the value (of the key/value pair) if it’s a certain key - so the matching works, below code is used:

```Clarion
        IF SELF.ListControl{PROPLIST:Header, SELF.Column} = 'Value'
            CASE UPPER(BoeAccPar:Key)
                OF 'CONNECTIONKEY'
                    RETURN 0;
                OF 'REFRESHTOKEN'
                    RETURN 0;
            END
        END

```

---

<div class="post-metadata">

**Author:** ![ThaDaSoft](https://clarionhub.com/user_avatar/clarionhub.com/thadasoft/32/3743_2.png) [@ThaDaSoft](https://clarionhub.com/u/ThaDaSoft)\
**Post date:** [September 5, 2025, 9:13am UTC](https://clarionhub.com/t/how-to-disable-edit-in-place-for-a-column-at-runtime/2737/14 "2025-09-05T09:13:19Z")

</div>

Disabled the EIP for now as I have another issue - the max length is 255 - while my string is 1024 - so it gets cut off…
