It sounds like there are 2 questions here:
How to show different panels based on a field value in a table row. You can use a <drilldown> to conditionally set a token for this use case. Then, use the token to show/hide a dashboard element.
How to highlight a table row based on certain conditions. You can use a custom row renderer for this use case. See the "Table Cell Highlighting" example in the example app that @woodcock mentioned.
Here is a run anywhere example for the token setting:
<dashboard>
<label>Different Tokens to Different values of Same Field</label>
<row>
<panel>
<title>Table</title>
<table>
<search>
<query>| makeresults count=3
| streamstats count AS count
| eval TIME_INTERVAL=case(count=1,"Daily", count=2,"Daily", count=3,"Monthly")
| eval fieldname=case(count=1,24, count=2,1, count=3,1)
| table TIME_INTERVAL fieldname</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<drilldown>
<condition match="$click.value2$=="Daily"">
<set token="show_panel_a">true</set>
<unset token="show_panel_b"></unset>
</condition>
<condition match="$click.value2$=="Monthly"">
<set token="show_panel_b">true</set>
<unset token="show_panel_a"></unset>
</condition>
<condition>
<unset token="show_panel_a"></unset>
<unset token="show_panel_b"></unset>
</condition>
</drilldown>
</table>
</panel>
</row>
<row>
<panel depends="$show_panel_a$">
<title>This is panel A</title>
<table>
<search>
<query>
| makeresults count=2
</query>
</search>
</table>
</panel>
<panel depends="$show_panel_b$">
<title>This is panel B</title>
<table>
<search>
<query>
| makeresults count=1
</query>
</search>
</table>
</panel>
</row>
</dashboard>
... View more