[英]How I sort in a ListView about a LinkButton
My Program: 我的程序:
I' ve a ListView, that get Data from the Active Directory. 我有一个ListView,可以从Active Directory中获取数据。 The User input a String (Lastname or a part of this) in a TextBox.
用户在文本框中输入一个字符串(姓氏或其中的一部分)。 Than the ListView list all AD Users with the same string from the TextBox.
比ListView列出所有具有TextBox中相同字符串的AD用户。 Every Line (Row) get a Button "Anzeigen" to get more Informations about the User.
每行(行)都有一个“ Anzeigen”按钮,以获取有关用户的更多信息。
ASPX: ASPX:
<asp:ListView runat="server" ID="myListView">
<LayoutTemplate>
<table id="UserTable" runat="server" border="0" cellspacing="10" cellpadding="2">
<tr runat="server" id="Tr1" style="background-color:#E5E5FE">
<th runat="server"><asp:LinkButton ID="lnkBenutzer" runat="server" CommandName="Sort" CommandArgument="Benutzer" onsorting="ListView1_Sorting">Benutzer</asp:LinkButton></th>
<th runat="server"><asp:LinkButton ID="lnkemail" runat="server" CommandName="Sort" CommandArgument="eMail" onsorting="ListView1_Sorting" >eMail</asp:LinkButton></th>
<th runat="server"><asp:LinkButton ID="lnkVorname" runat="server" CommandName="Sort" CommandArgument="Vorname" onsorting="ListView1_Sorting" >Vorname</asp:LinkButton></th>
<th runat="server"><asp:LinkButton ID="lnkNachname" runat="server" CommandName="Sort" CommandArgument="Nachname" onsorting="ListView1_Sorting" >Nachname</asp:LinkButton></th>
<th runat="server"><asp:LinkButton ID="lnkTelefon" runat="server" CommandName="Sort" CommandArgument="Telefon" onsorting="ListView1_Sorting" >Telefon</asp:LinkButton></th>
</tr>
<tr runat="server" id="ItemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td align="left" ><asp:Label ID="Label1" Text='<%# Eval("Benutzer") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label5" Text='<%# Eval("Telefon") %>' runat="server" /></td>
<td align="left"><asp:Button ID="Button1" Text="Anzeigen" OnCommand="Button1_Command" CommandName="Anzeigen" CommandArgument="MyArgument" runat="server" /></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color:#EFEFEF">
<td align="left" ><asp:Label ID="Label1" Text='<%# Eval("Benutzer") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label5" Text='<%# Eval("Telefon") %>' runat="server" /></td>
<td align="left"><asp:Button ID="Button1" Text="Anzeigen" OnCommand="Button1_Command" CommandName="Anzeigen" CommandArgument="MyArgument" runat="server" /></td>
</tr>
</AlternatingItemTemplate>
CS File: CS档案:
... ...
protected void ListView1_Sorting(object sender, ListViewSortEventArgs e)
{
//here???
}
... ...
What I want: 我想要的是:
If the User click on LinkButton "Benutzer", the list must be sort by alphabet :PI look on the Site http://www.codeproject.com/Articles/24570/Complete-ListView-in-ASP-NET-3-5 but in the Example and in the Downloadfile doesn't exist this Sort Method :( 如果用户单击LinkButton“ Benutzer”,则列表必须按字母:PI在网站上查找: http://www.codeproject.com/Articles/24570/Complete-ListView-in-ASP-NET-3-5但在示例和Downloadfile中不存在此Sort方法:(
now I don't know how I can sort the list. 现在我不知道如何对列表进行排序。
So I fill my List with Data: 所以我用数据填充列表:
protected void btnBenutzerSuchen_Click(object sender, EventArgs e)
{
DirectoryEntry Entry = new DirectoryEntry("LDAP://" + "Domain");
string filter = "(&(objectClass=user)(objectCategory=person)(cn=" + txtBenutzer.Text + "*))";
DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);
var q = from s in Searcher.FindAll().OfType<SearchResult>()
select new
{
Benutzer = GetProperty(s, "sAMAccountName"),
eMail = GetProperty(s, "mail"),
Vorname = GetProperty(s, "givenName"),
Nachname = GetProperty(s, "sn"),
Telefon = GetProperty(s, "telephoneNumber")
};
this.myListView.DataSource = q;
this.myListView.DataBind();
}
tarasov 塔拉索夫
Here you want to sort your data according to dataname. 在这里,您要根据数据名称对数据进行排序。 For that ,you have to pass datakey to rowdataBound event.
为此,您必须将datakey传递给rowdataBound事件。
Like' : 喜欢' :
protected void gvEmployeeList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "name")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = gvEmployeeList.Rows[index];
string deptID = gridview1.DataKeys[index].Value.ToString().Trim();
DataTable dtEmplist = new DataTable();
dtEmplist = getFilterEmployeeList(deptID);
if (dtEmplist.Rows.Count > 0)
{
gridview1.DataSource = dtEmplist;
gridview1.DataBind();
}
else
{
lblMsg.Text = "No Data Available";
}
}
}
Affter getting datakey 之后获取数据密钥
Sort it by (GridViewSortEventArgs e) 排序依据(GridViewSortEventArgs e)
e.sortExpression property. e.sortExpression属性。
It will help you my frnd.... 它将帮助您我的朋友。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.