0
votes

i want to switch the columns when the gridview is using ItemTemplate instead of BoundField:

 <asp:TemplateField HeaderText="Name">
            <ItemTemplate>
                <asp:Label ID="lblname" runat="server" Text='name'></asp:Label>
            </ItemTemplate>
</asp:TemplateField>

- Code behind -
     if (Group == "A") { 

                ((BoundField)gv1.Columns[0]).DataField = "name";
                ((BoundField)gv1.Columns[0]).HeaderText = "Name";
                ((BoundField)gv1.Columns[1]).DataField = "gender";
                ((BoundField)gv1.Columns[1]).HeaderText = "Gender";
            }  else   { 

                ((BoundField)gv1.Columns[0]).DataField = "gender";
                ((BoundField)gv1.Columns[0]).HeaderText = "Gender";
                ((BoundField)gv1.Columns[1]).DataField = "name";
                ((BoundField)gv1.Columns[1]).HeaderText = "Name";
            }

i tried "TemplateField abc= new TemplateField()"and .add(), how to specify the new column number position?

Thanks.

1

1 Answers

0
votes

i have did it and it worked for me like

Suppose you wanted to move the second column to be the first column you could do

var Move= GridView.Columns[1];
GridView.Columns.RemoveAt(1);
GridView.Columns.Insert(0, move);