C# 如何在列表视图中对链接按钮进行排序
我的节目: 我有一个列表视图,可以从Active Directory获取数据。用户在文本框中输入字符串(Lastname或其一部分)。而不是ListView从文本框中列出具有相同字符串的所有广告用户。每一行都有一个按钮“anzegen”来获取更多关于用户的信息 ASPX: 我想要的是: 如果用户单击LinkButton“Benutzer”,列表必须按字母排序:p我在网站上查看,但在示例和下载文件中不存在此排序方法:( 现在我不知道如何对列表进行排序 因此,我用数据填写我的列表:C# 如何在列表视图中对链接按钮进行排序,c#,asp.net,listview,sorting,active-directory,C#,Asp.net,Listview,Sorting,Active Directory,我的节目: 我有一个列表视图,可以从Active Directory获取数据。用户在文本框中输入字符串(Lastname或其一部分)。而不是ListView从文本框中列出具有相同字符串的所有广告用户。每一行都有一个按钮“anzegen”来获取更多关于用户的信息 ASPX: 我想要的是: 如果用户单击LinkButton“Benutzer”,列表必须按字母排序:p我在网站上查看,但在示例和下载文件中不存在此排序方法:( 现在我不知道如何对列表进行排序 因此,我用数据填写我的列表: protect
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();
}
protectedvoid btnBenutzerSuchen\u单击(对象发送方,事件参数e)
{
DirectoryEntry=新的DirectoryEntry(“LDAP://“+”域”);
字符串筛选器=“(&(objectClass=user)(objectCategory=person)(cn=“+txtBenutzer.Text+”*)”;
DirectorySearcher search=新的DirectorySearcher(条目、过滤器);
var q=来自类型()的Searcher.FindAll()中的s
选择新的
{
Benutzer=GetProperty(s,“sAMAccountName”),
eMail=GetProperty(“邮件”),
Vorname=GetProperty(“givenName”),
Nachname=GetProperty(s,“sn”),
Telefon=GetProperty(“电话号码”)
};
this.myListView.DataSource=q;
this.myListView.DataBind();
}
塔拉索夫在这里,您希望根据数据名对数据进行排序。 为此,必须将datakey传递给rowdataBound事件 例如:
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";
}
}
}
获取数据密钥之后
按排序(GridViewSortEventArgs e)
e、 sortExpression属性
它将帮助您找到我的第一个…我使用的是ListView而不是GridView MHH我查看并测试了它,然后给您一个请求;)
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();
}
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";
}
}
}