2013-05-08 25 views
-2

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

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

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

谢谢!

+0

下次尝试做更多的自己的研究,但我发布了答案。 – 2013-05-08 21:07:55

回答

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(); 

希望这有助于的行(如果您使用的数据表)。

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。