[英]ASP.NET Grid View sort (no database being used)
我在asp.net中的數據網格視圖有問題。 代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Lab1;
public partial class Lab2_TicketsView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lblViewTicketCategoryError.Visible = false;
lblViewTicketUserError.Visible = false;
if(!IsPostBack)
{
string empty = "";
string defaultOption = "All";
ddlTicketViewCategory.Items.Add(empty);
ddlTicketViewUsers.Items.Add(defaultOption);
foreach(Category c in CategoryUtility.Instance.GetCategories())
{
ddlTicketViewCategory.Items.Add(c.Name);
}
var Users = from usr in UserUtility.Instance.GetUsers()
select new
{
Name = usr.FirstName + " " + usr.LastName,
usr.Email
};
ddlTicketViewUsers.DataTextField = "Name";
ddlTicketViewUsers.DataValueField = "Email";
ddlTicketViewUsers.DataSource = Users;
ddlTicketViewUsers.DataBind();
showTicketList();
}
}
protected void showTicketList()
{
var Tickets = from ticket in TicketsUtility.Instance.GetTickets()
select new
{
ticket.Title,
Name = ticket.User.FirstName + " " + ticket.User.LastName,
ticket.Cateogry,
ticket.Description
};
dgvTickets.DataSource = Tickets;
dgvTickets.DataBind();
}
protected void btnFilter_Click(object sender, EventArgs e)
{
if(ddlTicketViewCategory.SelectedItem.Text == "")
{
lblViewTicketCategoryError.Visible = true;
lblViewTicketCategoryError.Text = "Please select a category";
}
else if(ddlTicketViewUsers.SelectedItem.Text == "")
{
lblViewTicketUserError.Visible = true;
lblViewTicketUserError.Text = "Please select a user";
}
else
{
showTicketList();
}
}
}
輸出顯示在網格視圖中。 我試圖根據從下拉列表中選擇的選項對列表進行排序。 沒有使用數據庫,只有提供的庫中的文本文件和方法(CategoryUtility和UserUtility來自該庫)。 如何使網格視圖中顯示的數據基於從下拉列表中選擇的選項? SelectedItem.Selected會扮演任何角色嗎? 我是否使用LINQ,如果使用,在哪里和如何使用? 任何輸入將不勝感激。
這是為了過濾一個,您也可以對另一個應用相同的過程,
if (ddlTicketViewCategory.SelectedItem != null)
{
var FilteredList = Tickets.Where(Filter => Filter.Category == ddlTicketViewCategory.SelectedItem.ToString()).ToList();
}
dgvTickets.DataSource = FilteredList;
dgvTickets.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.