Hi @MJK ,
Could you please share a bit more about your app's configuration?
Do you add several buttons inside your Gallery?
Based on needs that you mentioned, I think you want to achieve your needs as following screenshot, is it right?

According to the needs that you mentioned, I think there is no direct way to achieve your needs. As an alternative solution, you need to add a additional column in your data source (your Gallery connected to) to store the button click status for each item in your Gallery.
I have made a test on my side, please consider take a try with the following workaround:
My data source structure as below:

Note: The ButtonOptions column is a used to store the button click status for each item in your Galleru.
Add a Gallery in my app screen, set the Items property to above Table data source ("ProductsCollection"). Then add three buttons inside the Gallery, set the Text property of these buttons to "Option1", "Optjion2", "Option3", ... individually.
Set the OnSelect property of the "Option1" button to following:
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option1;" // Modify formula here for each button
}
)
set the Fill property of the "Option1" button to following:
If(
"Option1" in ThisItem.ButtonOptions, // Modify formula here for each button
RGBA( 255, 140, 0, 1 ),
RGBA(56, 96, 178, 1)
)
Set the OnSelect property of the "Option2" button to following:
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option2;"
}
)
set the Fill property of the "Option2" button to following:
If(
"Option2" in ThisItem.ButtonOptions,
RGBA( 255, 140, 0, 1 ),
RGBA(56, 96, 178, 1)
)
Set the OnSelect property of the "Option3" button to following:
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option3;"
}
)
set the Fill property of the "Option3" button to following:
If(
"Option3" in ThisItem.ButtonOptions,
RGBA( 255, 140, 0, 1 ),
RGBA(56, 96, 178, 1)
)
Please refer to above solution, then try it for your scenario, then check if the issue is solved.

Of course, if you want to unselect button option when you press button again, please consider modify the formula within the OnSelect property of each button in your Gallery as below:
"Option1" OnSelect:
If(
"Option1" in ThisItem.ButtonOptions,
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: Substitute(ThisItem.ButtonOptions, "Option1;", "")
}
),
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option1;"
}
)
)
"Option2" OnSelect:
If(
"Option2" in ThisItem.ButtonOptions,
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: Substitute(ThisItem.ButtonOptions, "Option2;", "")
}
),
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option2;"
}
)
)
"Option3" OnSelect:
If(
"Option3" in ThisItem.ButtonOptions,
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: Substitute(ThisItem.ButtonOptions, "Option3;", "")
}
),
Patch(
ProductsCollection,
ThisItem,
{
ButtonOptions: ThisItem.ButtonOptions & "Option3;"
}
)
)
Please take a try with above solution, check if it could help in your scenario.
Best regards,