在gridview中显示空行以及填充的行

时间:2013-05-08 20:59:27

标签: c# asp.net sql

我试图在gridview中显示4行。如果我在数据库中有2行,我应该显示2个填充行和2个空,如果我在数据库中有4个,显示4个填充行,如果我在数据库中没有,则显示4个空行。这怎么可能?

我使用的是使用c#,Asp.Net的SQl Server 2005。我想使用存储过程使用数据集从数据库获取结果,然后绑定到gridview。

我想知道逻辑,所以我可以尝试为自己编写代码。希望我很清楚,我希望我的要求是可能的?!

谢谢!

2 个答案:

答案 0 :(得分:0)

我要采用的方法是使用gridview类的CreateRow()方法,如

gridView1.CreateRow(int rowIndex, 
                    int dataSourceIndex, 
                    DataControlRowType rowType, 
                    DataControlRowState rowState);

因此,使用标准for循环创建其中的四个,然后将所需的行追加到gridview中的相对行。就像在gridview.Row [i] = SelectedDataBaseRow之类的东西一样,它会是某种东西(如果你正在使用数据表)的

gridView1.SelectRow(i) = dataTable1.Row[i].ItemArray[columnindex].ToString();

希望这有帮助。

答案 1 :(得分:0)

在存储过程中,只需创建某种左或右连接,通过匹配公共列来生成空行。例如,考虑一下:

DECLARE @table AS TABLE
    (
      one VARCHAR(20) ,
      two VARCHAR(30) ,
      some_key INT
    )

INSERT  INTO @table
        ( one, two, some_key )
VALUES  ( 'a', 'b', 1 )

SELECT  t.one ,
        t.two ,
        t.some_key
FROM    @table t
        RIGHT JOIN ( SELECT 1 AS id
                     UNION
                     SELECT 2
                     UNION
                     SELECT 3
                     UNION
                     SELECT 4 AS id
                   ) x ON x.id = t.some_key

将产生

one    two  some_key
a      b    1
NULL   NULL NULL
NULL   NULL NULL
NULL   NULL NULL

然后,您可以将结果集绑定到gridview。