---
title: "koppla sorteringsfunktion till en länk?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/80445-koppla-sorteringsfunktion-till-en-länk"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "wwwstekaren"
published: "2003-06-24T12:34:08.000Z"
updated: "2003-06-25T09:14:13.000Z"
replies: 6
views: 178
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/80445-koppla-sorteringsfunktion-till-en-länk"
---

# koppla sorteringsfunktion till en länk?

## #1 — wwwstekaren, 2003-06-24T12:34Z

Koden nedan visar en datagrid där jag har olika fält där det visas olika saker, överst så har jag en dropdown till vänster om den står det en text "Ansvarig" jag vill att det ska gå att sortera när man klickar på den texten precis som de andra kolla ex \<asp:TemplateColumn HeaderText="Efternamn" SortExpression="LastName"\> där funkar det att sortera. 

```
<asp:datagrid id="XmlDataGrid" runat="server" AutoGenerateColumns="False" AllowSorting="True" OnSortCommand="XmlDataGrid_SortCommand" width="100%" OnDeleteCommand="DEDR_Delete" OnUpdateCommand="DEDR_Update" OnCancelCommand="DEDR_Cancel" OnEditCommand="DEDR_Edit">
				<AlternatingItemStyle BackColor="Gainsboro"></AlternatingItemStyle>
				<ItemStyle BackColor="White"></ItemStyle>
				<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="DodgerBlue"></HeaderStyle>
				<Columns>
					<asp:TemplateColumn>
						<HeaderTemplate>
							Ansvarig
							<asp:DropDownList ID="dropdownlistRe" Runat="server" AutoPostBack="True" OnSelectedIndexChanged="Contact_view"></asp:DropDownList>
						</HeaderTemplate>
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "Responsible") %></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox id="txtResponsible" Text='<%# DataBinder.Eval(Container.DataItem, "Responsible") %>' size="25" runat="server"/>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="F&#246;rnamn" SortExpression="Name">
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "Name") %></a></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox id="txtName" Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>' size="25" runat="server"/>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="Efternamn" SortExpression="LastName">
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "LastName") %></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox id="txtLastName" Text='<%# DataBinder.Eval(Container.DataItem,"LastName") %>' size="25" runat="server"/>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="E-post" SortExpression="Email">
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "Email") %></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox id="txtEmailAddress" Text='<%# DataBinder.Eval(Container.DataItem, "Email") %>' size="25" runat="server"/>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="F&#246;retag" SortExpression="Company">
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "Company") %></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox id="txtCompany" Text='<%# DataBinder.Eval(Container.DataItem, "Company") %>' size="25" runat="server"/>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="Typ av O2-kontakt" SortExpression="Contact">
						<ItemTemplate>
							<div class="name"><%# DataBinder.Eval(Container.DataItem, "Contact") %></div>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:Dropdownlist id="txtContact" Text='<%# DataBinder.Eval(Container.DataItem, "Contact") %>' width="100%" runat="server">
								<asp:ListItem Value="contact1">Nätverk</asp:ListItem>
								<asp:ListItem Value="contact2">Kund</asp:ListItem>
								<asp:ListItem Value="contact3">Leverantör</asp:ListItem>
								<asp:ListItem Value="contact4">Partner</asp:ListItem>
								<asp:ListItem Value="contact5">Prospekt</asp:ListItem>
								<asp:ListItem Value="contact6">Fd O2are</asp:ListItem>
							</asp:Dropdownlist>
						</EditItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn>
						<ItemTemplate>
							<div class="button">
								<asp:LinkButton CommandName="Edit" Text="Edit" runat="server" ID="Linkbutton2">
									<img src="edit.gif" align="left" border="0" alt="Edit"></asp:LinkButton></div>
							<div class="button">
								<asp:LinkButton ID="lbDelete" CommandName="Delete" OnPreRender="cmdDelete_onPreRender" Text="Delete" runat="server">
									<img src="trashcan.gif" align="left" border="0" alt="Delete"></asp:LinkButton></div>
						</ItemTemplate>
						<EditItemTemplate>
							<div class="button">
								<asp:LinkButton CommandName="Cancel" Text="Cancel" runat="server" ID="Linkbutton4">
									<img src="cancel.gif" border="0" alt="Cancel" align="left"></asp:LinkButton></div>
							<div class="button">
								<asp:LinkButton CommandName="Update" Text="Add/Update" runat="server" ID="Linkbutton5">
									<img src="add.gif" alt="Add/Update" border="0" align="left">
								</asp:LinkButton></div>
						</EditItemTemplate>
					</asp:TemplateColumn>
				</Columns>
			</asp:datagrid>
```

Permalänk: https://www.webforum.nu/p/80445

## #2 — renholm, 2003-06-24T12:43Z

Vet inte hur du binder datan till din datagrid men du kan använda: DataView.Sort = dindropdown.SelectedItem.Value;
I fall du binder med en DataTable kan du göra så här: 
DataTable.DefaultView.Sort = dindropdown.SelectedItem.Value;

Förstod jag frågan rätt?

Permalänk: https://www.webforum.nu/p/1091808

## #3 — wwwstekaren, 2003-06-24T12:47Z

du ser hur jag gör när jag sorterar de andra texterna?

```
<asp:TemplateColumn HeaderText="Förnamn" SortExpression="Name">
```

Men det funkar inte på min första kod kolla ovan

Permalänk: https://www.webforum.nu/p/1091812

## #4 — renholm, 2003-06-24T12:58Z

Ok, såg inte att den låg innanför i Header men borde väl inte vara några problem du skapar en evenhandler som hanterar det ändrade värdet i dropdownlistan och därefter sorterar om datagriden med den kod jag tidigare sagt.

Permalänk: https://www.webforum.nu/p/1091823

## #5 — wwwstekaren, 2003-06-24T12:59Z

hur kodar jag det? Jag har hållt på och testat men det funkar inte:(

Permalänk: https://www.webforum.nu/p/1091827

## #6 — renholm, 2003-06-25T09:12Z

Enklast är om du skapar en knapp brevid din dropdown och sätta CommandName="SortByRes". Sedan använder du Eventet DataGrid_ItemCommand och kollar om commandot är ett SortByRes.

Så här ungefär:

```
private void DataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
switch(e.CommandName)
	{
	case "SortByRes":
		// sorterings kod
		break;
	}
}
```

Permalänk: https://www.webforum.nu/p/1092355

## #7 — wwwstekaren, 2003-06-25T09:14Z

tackar:)

Permalänk: https://www.webforum.nu/p/1092356

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/80445-koppla-sorteringsfunktion-till-en-länk
