If the error occurs at this line:
r[0] = txtNameMada.Text;
Then the table is empty: it contains no columns, and hence no data.
Since it is a class level variable, I'd start by looking at the method where you load it in the first place, because that establishes the schema for the table - and if you create a local variable called dt within your method:
private DataTable dt = new DataTable();
void MyMethod(void)
{
DataTable dt = new DataTable();
myDataAdapter.Fill(dt);
...
}
Then that masks the class level version and it never gets filled with any schema, much less data.