# Open Property Binding via Double Click

**URL:** <https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629>\
**Category:** Module Development\
**Tags:** vision\
**Created:** [November 14, 2024, 7:33pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629 "2024-11-14T19:33:56Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [November 14, 2024, 7:33pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629/1 "2024-11-14T19:33:56Z")

</div>

When I double click on the IA components, the property binding window opens for a specific property. How do I achieve that for my own components?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 14, 2024, 8:02pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629/2 "2024-11-14T20:02:34Z")

</div>

1. Construct your own customizer (or use on of our existing ones); give it a [`CustomizerDescriptor`](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.44/com/inductiveautomation/vision/api/designer/beans/CustomizerDescriptor.html)
2. In your component's bean info constructor, supply that descriptor to the vararg trailing arguments:

```java
public VisionAdvancedTableBeanInfo() {
        super(VisionAdvancedTable.class, 
            AdvancedTableCustomizer.VALUE_DESCRIPTOR,
            DynamicPropertyProviderCustomizer.VALUE_DESCRIPTOR
        );

```

1. Also on the bean info, add a value for [`DOUBLE_CLICK_CUSTOMIZER_KEY`](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.44/com/inductiveautomation/vision/api/designer/beans/CommonBeanInfo.html#DOUBLE_CLICK_CUSTOMIZER_KEY) that identifies the same descriptor by name:

```java
getBeanDescriptor().setValue(DOUBLE_CLICK_CUSTOMIZER_KEY, TableCustomizer.VALUE_NAME);

```

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [November 14, 2024, 9:51pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629/3 "2024-11-14T21:51:43Z")

</div>

I can get different customizers to open with the code snippets you shared, thank you for that.

What I'm ultimately trying to achieve is to open the `Sources` property `Dataset Editor` when the component is double clicked. Haven't been able to do that so far.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/9/b99ce398e7db20b4a07453b9a9f14f7b20dca886.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 14, 2024, 11:05pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629/4 "2024-11-14T23:05:38Z")

</div>

Ah; got it. The dropdown list component, for instance, does so like this in the bean info:

```java
getBeanDescriptor().setValue(DOUBLE_CLICK_HANDLER, (DoubleClickHandler) (component, workspace) -> {
    try {
        if (BindUtilities.isBound(component, "data")) {
            workspace.getVisionDesigner().openBindingDialog(component, "data");

        } else {
            DataSetEditorDialog viewer = new DataSetEditorDialog(IgnitionDesigner.getFrame().getRootPane());
            Dataset oldDataset = ((PMIComboBox) component).getData();

            if (oldDataset == null) {
                oldDataset = new BasicDataset();
            }

            Dataset newDataset = viewer.editDataSet(oldDataset);

            if (newDataset != null) {
                ((PMIComboBox) component).setData(newDataset);
            }
        }
    } catch (NotBindableException e) {
        ErrorUtil.showError(e);
    }
});

```

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [November 15, 2024, 2:17pm UTC](https://forum.inductiveautomation.com/t/open-property-binding-via-double-click/98629/5 "2024-11-15T14:17:58Z")

</div>

That works. Thanks Paul!
