根据网格行计算

时间:2016-04-14 23:12:07

标签: c# asp.net .net gridview

您好我正在寻找默认情况下在网格视图中有10条记录

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

如果网格视图有4行,则有6行空行等。

如果网格视图有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);
}

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

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();
相关问题