Question: I want to use `TextButton` for my custom made buttons but this requires me to (re)position the `text` or `Label` within that `TextButton`. I have tried some options but i am pretty stuck.

```
//this seems straightforward but nothing changes.
final TextButton b = new TextButton("LABEL", skin);
b.getLabel().setPosition(100, -20);

//Read somewhere about adding new children to buttons but no success either.
final TextButton b = new TextButton("OLD LABEL", skin);
b.clearChildren();
Label l = new Label("NEW LABEL", skin);
l.setPosition(400, 600);
b.add(l);

b.layout(); // Does not help either.

```

I am adding the `Button` straight into the `Stage` without a table for what it matters. Anyone has some ideas on this?

![enter image description here](https://i.stack.imgur.com/9g95D.png)

Answer: 
there is no way to do it in this format. you should send **Dataitem** to a static method and then you should return string that contains your markup..

```
public static string GetMarkup(object dataItem)
{
    var tags = DataBinder.Eval(dataItem, "etiketler"); // depend on etiketler type

    StringBuilder sb = new StringBuilder();
    foreach(string tag in tags) 
    { 
        sb.Append("<a href='#'>"+tag+"</a"); 
    }

    return sb.ToString();
}

```

use this method like this:

```
<%# GetMarkup(Container.DataItem) %>

```
You can also use nested repeaters in ASP.NET

```
<asp:Repeater runat="server" ID="rpt1">
  <ItemTemplate>
     <asp:Repeater runat="server" ID ="rpt2" DataSource='<%# Eval("etiketler") %>'>
      <ItemTemplate>
        <%# Eval("tag") %>
     </ItemTemplate>
    </asp:Repeater>
  </ItemTemplate>
</asp:Repeater>

```