使用Linq DataSource在Gridview中自动换行

时间:2011-05-10 15:12:36

标签: c# asp.net visual-studio linq gridview

我在使用Gridview自动换行时出现问题。 Gridview的源代码是Linq Source,它是在LinqDataSourceLog_Selecting方法中构建的。我有一个列,我想要自动换行,但我想因为我如何绑定Gridview,列计数总是0所以我不能包装我没有的东西。以下是Grid的标记。

                                <asp:GridView ID="GridViewLog" Width="200px" runat="server" CellPadding="4" AllowPaging="true"
                                DataSourceID="LinqDataSourceLog" ShowHeader="true" AllowSorting="true" OnPageIndexChanging="GridViewLog_PageIndexChanging"
                                EnableModelValidation="True" AutoGenerateColumns="true" ForeColor="#333333" GridLines="Both" 
                                Height="164px" OnRowDataBound="GridViewLog_RowDataBound" RowStyle-Wrap="true" AlternatingRowStyle-Wrap="true"
                                PageSize="10" PagerSettings-Mode="Numeric" OnPreRender="GridViewLog_Prerender">
                                <EmptyDataTemplate>
                                    <table>
                                        <tr>
                                            <td style="color: #003366">
                                                <strong>Either the applied filter returned no results or<br />
                                                    the Out of office log is currently empty .</strong>
                                            </td>
                                        </tr>
                                    </table>
                                </EmptyDataTemplate>
                                <AlternatingRowStyle BackColor="White" Wrap="false" />
                                <EditRowStyle BackColor="#2461BF" />
                                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                <PagerStyle BackColor="#2461BF" CssClass="pagination" ForeColor="White" HorizontalAlign="Center" />
                                <RowStyle BackColor="#EFF3FB" Wrap="false" />
                                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            </asp:GridView>

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

网格视图中Columns集合的Count属性仅计算您在标记中指定的已声明列的数量。指定AutoGenerateColumns="true"时,不会计算这些列。

作为GridViewLog.Columns.Count的替代方案,使用GridViewLog.HeaderRow.Cells.Count时会得到什么结果?这应该告诉你所有列的计数,自动生成与否。