簡體   English   中英

ASP.NET網格視圖排序(不使用數據庫)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM