0
我遇到了asp.net中數據網格視圖的問題。代碼如下: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,如果是,在哪裏以及如何?任何輸入都將不勝感激。