<asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:slopworkConnectionString %>"
            SelectCommandType="StoredProcedure" SelectCommand="selectmethod">
            <SelectParameters>
                <asp:Parameter DefaultValue="YP10106" Name="ddbh" Type="String" />
            </SelectParameters>
           
        </asp:SqlDataSource> <asp:GridView ID="GridView2" ForeColor="Black" runat="server" EnableTheming="True" ShowFooter="True" Width="392px" AutoGenerateColumns="False" DataSourceID="SqlDataSource5" OnDataBound="GridView2_DataBound" OnRowDataBound="GridView2_RowDataBound"  
            >
             <HeaderStyle BackColor="#333333" ForeColor="White" Height="25px" HorizontalAlign="Center"
                                      VerticalAlign="Bottom" Font-Bold="True" />
<RowStyle Height="20px" HorizontalAlign="Center" />
            <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
        <Columns>
            <asp:BoundField DataField="ddbh" HeaderText="ddbh" SortExpression="ddbh" />
            <asp:BoundField DataField="site" HeaderText="site" SortExpression="site" />
            <asp:BoundField DataField="method" HeaderText="method" SortExpression="method" />
            <asp:BoundField DataField="unit" HeaderText="unit" SortExpression="unit" />
        </Columns>
        </asp:GridView>
存储过程:ALTER PROCEDURE [dbo].[selectmethod] 

@ddbh VARCHAR(10) 

AS 
BEGIN 
DECLARE @sql VARCHAR(8000) 
SET @sql = 'SELECT ddbh,site,method' 
SELECT @sql = @sql + ',MIN(CASE WHEN size = '''+ size + ''' THEN value END) AS ['+ size +']' 
FROM (SELECT DISTINCT size FROM method) A 
ORDER BY size DESC SELECT @sql = @sql + ',unit FROM method WHERE ddbh = ''' + @ddbh + ''' GROUP BY ddbh,site,method,unit' 
--print (@sql) 
EXEC (@sql) 
END 
GO但是在查询分析器里面,SqlDataSource测试查询中都能查出所有列

解决方案 »

  1.   

    private void CreateGridView()
        {
            HyperLinkField Field_BidID = new HyperLinkField();
            Field_BidID.DataTextField = "BidID";
            Field_BidID.HeaderText = "订单ID";
            Field_BidID.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            this.GridView_Email.Columns.Add(Field_BidID);
            //
            BoundField Field_Name = new BoundField();
            Field_Name.DataField = "Name";
            Field_Name.HeaderText = "订单类型";
            Field_Name.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            this.GridView_Email.Columns.Add(Field_Name);
            //
            BoundField Field_Title = new BoundField();
            Field_Title.DataField = "Title";
            Field_Title.HeaderText = "标题";
            Field_Title.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            this.GridView_Email.Columns.Add(Field_Title);
            //
            BoundField Field_Content = new BoundField();
            Field_Content.DataField = "Content";
            Field_Content.HeaderText = "内容";
            Field_Content.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            //
            this.GridView_Email.Columns.Add(Field_Content);
            BoundField Field_CDT = new BoundField();
            Field_CDT.DataField = "CDT";
            Field_CDT.HeaderText = "发送日期";
            Field_CDT.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            this.GridView_Email.Columns.Add(Field_CDT);
        }
      

  2.   

    <asp:BoundField DataField="ddbh" HeaderText="ddbh" SortExpression="ddbh" /> 
                 <asp:BoundField DataField="site" HeaderText="site" SortExpression="site" />
    想让他自动产生这个
      

  3.   

    几个可能性,
    1:你在vs的服务器资源管理器下直接运行下那个sp,看看能不能有结果
    2:重新确定下你的boundfield字段有没有绑定错
    3:还不行用后台代码绑定试试,不要用sqldatasouce