在 ASP:GridView 中插入特定元素

Insert specific elements in ASP:GridView

我在使用 GridView 组件时遇到了一些问题。我的任务是将 class 一本页数大于 100 的书的数据插入到 gridview 中。Class:

    public class Knjiga {
     public string nazivKnjige { get; set; }
     public string imeAutora { get; set; }
     public int brStr { get; set; }
     public int ID { get; set; }

     public Knjiga(string naziv, string ime, int broj, int id) {
       nazivKnjige = naziv;
       imeAutora = ime;
       brStr = broj;
       ID = id;
     }
  }

我尝试这样的事情:

     List<Knjiga> biblioteka = new List<Knjiga>() { 
       new Knjiga("Mali Princ", "Hans Kristiansen Andersen", 355, 009),
       new Knjiga("Na Drini cuprija", "Ivo Andric", 100, 088),
       new Knjiga("Starac i more", "Ernest Hemingvej", 67, 033),
       new Knjiga("Covek posle rata", "Dusan Vasiljev", 255, 011),
       new Knjiga("Gradinar", "Rabindranat Tagore", 125, 077)
     };

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
    for (int i = 0; i < biblioteka.Count; i++)
    {
        if (biblioteka[i].brStr > 100)
        {
            GridView1.DataSource = biblioteka;
            GridView1.DataBind();
        }
    }
}


protected void Button1_Click(object sender, EventArgs e)
{
    for (int i = 0; i < biblioteka.Count; i++)
    {
        if (biblioteka[i].brStr > 100)
        {
            GridView1.DataSource = biblioteka;
            GridView1.DataBind();
        }
    }
}

但是当我开始一个项目时,无论它的页数是否超过100,所有的数据都被插入到gridview中。有谁知道如何只插入那些页数大于100的对象? ?

  1. 在绑定数据到网格视图之前,根据您的业务准备数据源。
  2. 您多次绑定相同的数据,因为数据绑定逻辑存在于 for 循环中