ObjectDataSource + SPGridView, ворос

funky_max
Дата: 19.04.2010 09:37:04
Не отображаются данные на странице.

Кусок кода из aspx файла:
    <asp:ObjectDataSource runat="server" ID="odsResults" />
        <tr><td>
        <wssawc:SPGridViewPager ID="sgvpPagerTop" runat="server" GridViewId="sgvConversionResults" />
        </td></tr>
        <tr>
            <td colspan="2" class="ms-vb">
                <wssawc:SPGridView 
                    runat="server" 
                    ID="sgvConversionResults" 
                    AutoGenerateColumns="false"
                    RowStyle-CssClass=""
                    AlternatingRowStyle-CssClass="ms-alternating" 
                    />
            </td>
        </tr>
<!-- Results pager -->
        <tr>
            <td>
                <wssawc:SPGridViewPager ID="sgvpPagerBottom" runat="server" GridViewId="sgvConversionResults" />
            </td>
        </tr>

Обработчик страницы:
public DataTable SelectData()
        {
            DataTable dataSource = new DataTable();

            dataSource.Columns.Add("ID");
            dataSource.Columns.Add("Name");
            dataSource.Columns.Add("Region");
            dataSource.Columns.Add("Total Sales");

            dataSource.Rows.Add(1, "J. Smith", "Europe", 10000);
            dataSource.Rows.Add(2, "J. Smith", "North America", 15000);
            dataSource.Rows.Add(3, "J. Smith", "Asia", 5000);
            dataSource.Rows.Add(4, "S. Jones", "Europe", 7000);
            dataSource.Rows.Add(5, "S. Jones", "North America", 30000);
            dataSource.Rows.Add(6, "S. Jones", "Asia", 8700);
            dataSource.Rows.Add(7, "W. Nguyen", "Europe", 3000);
            dataSource.Rows.Add(8, "W. Nguyen", "North America", 50000);
            dataSource.Rows.Add(9, "W. Nguyen", "Asia", 25000);

            return dataSource;
        }

И сам вызов:
   odsResults.TypeName = this.GetType().AssemblyQualifiedName;
                        odsResults.SelectMethod = "SelectData";
                        sgvConversionResults.DataSourceID = odsResults.ID;
                        sgvConversionResults.DataBind();

Ошибок не вываливается но и сам грид не отображается...
В чем моя ошибка, раньше такого никогда не делал да и с шарепойнтой по-стольку по-скольку. Подозреваю что гриду надо создать колонки...
Zoria
Дата: 19.04.2010 12:31:33
funky_max,

а если AutoGenerateColumns="true" ?
funky_max
Дата: 19.04.2010 16:25:54
Создал колонки вручную, заработало.

Появился новый вопрос. В ходе обработки страницы надо добавлять строки в эту табличку.
Засим вынес DataTable как переменную класса, т.е. не создаю ее больше в методе Select. В обработчике страницы закидываю в таблицу строки.
В самом же Select оставил только строку return dataSource;

В результате в SPGridView информация не выводится (There are no items to show in this view).

Что не так делаю?