【问题标题】:Adding empty number of rows in gridview based on grid rows count根据网格行数在gridview中添加空行数
【发布时间】:2016-04-14 23:12:07
【问题描述】:

您好,我希望默认情况下在网格视图中有 10 条记录

所以如果网格视图有 3 行,那么有 7 个空行要添加,

如果 grid-view 有 4 行,则有 6 个空行,等等。

如果 grid-view 有 10 行,则没有要添加的空行

QueryClass q = new QueryClass();
grid.DataSource = q.getdata();
grid.DataBind();

方法

public DataTable getdata()
{
string query = string.Format("SELECT TOP(10) * FROM Store");
return Search(query);
}

【问题讨论】:

    标签: c# asp.net .net gridview


    【解决方案1】:

    您可以为此创建一个扩展方法:

    public static class HelperMethod
    {
        public static List<QueryClassObj> Extend(this List<QueryClassObj> items)
        {
            while (items.Count < 10)
            {
                items.Add(new QueryClassObj());
            }
            return items;
        }
    }
    

    当您获取数据并简单地绑定到您的网格时:

    QueryClass q = new QueryClass();
    grid.DataSource = q.getdata().Extend();
    grid.DataBind();
    

    根据您的编辑,您可以试试这个

    public DataTable getdata()
    {
    string query = string.Format("SELECT TOP(10) * FROM Store");
    DataTable results= Search(query);
    while(results.Rows.Count<10)
    {
     results.Rows.Add(results.NewRow());
    }
    }
    

    抱歉,由于我不在 PC 上,所以无法测试我的最后一次编辑

    【讨论】:

    • 谢谢,但我不明白如何添加扩展方法我添加了我使用的方法
    • @Ayman 将 QueryClassObj 替换为 q.getdata() 返回的对象类型
    • system.data.datatable 不包含 Extend 接受 system.data.datatable 类型的第一个参数的定义
    • @Ayman 查看我的编辑。原始答案是在您显示 getdata() 之前发布的
    【解决方案2】:

    您可以将缺少的项目添加到您的数据源中:

    QueryClass q = new QueryClass();
    
    var dSource = q.getdata();
    
    foreach (var missing in Enumerable.Range(1, 10 - dSource.Rows.Count))
    {
        dSource.NewRow();
    }
    grid.DataSource = dSource;
    
    grid.DataBind();
    

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2021-04-22
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      相关资源
      最近更新 更多