заполнение выпадающего списка asp под telerik gridview из источника данных - PullRequest
0 голосов
/ 20 сентября 2018

Я пытался добавить раскрывающийся элемент управления в столбце вида сетки Telerik.Ниже приведен фрагмент кода.когда я использую раскрывающийся список «Поиск элемента управления», он возвращает ноль, и данные не связаны.

ASP

<telerik:GridTemplateColumn AllowFiltering="False" ShowFilterIcon="False">
                            <HeaderStyle HorizontalAlign="Center" />
                            <HeaderTemplate>
                               Change Sort Order
                            </HeaderTemplate>
                            <ItemStyle HorizontalAlign="Center" Width="5%"/>
                            <ItemTemplate>
                                <asp:DropDownList ID="myDropDown" DataTextField="TextFieldValue" DataValueField="ValueFieldValue" runat="server"/>
                            </ItemTemplate>
                        </telerik:GridTemplateColumn>

C # код

protected void gdvFMclevel1_ItemDataBound(object sender, GridItemEventArgs e)
        {
                GridItem item = (GridItem)e.Item;
                DropDownList list=(DropDownList)item.FindControl("myDropDown");
                Controller c = new Controller();
                DataSet ds = new DataSet();
                ds = c.GetSortList();
                if (ds.Tables[0].Rows.Count > 0)
                {
                    list.DataSource = ds.Tables[0];
                    list.DataTextField = "Order";
                    list.DataValueField = "SortOrder";
                    list.DataBind();
                }
               }

Пожалуйста, дайте мне знатьКак я могу получить данные в раскрывающемся списке.Я получаю исключение ссылки на объект на этом.

1 Ответ

0 голосов
/ 11 октября 2018

Добавьте DataSourceID = "dataSource" в раскрывающийся список.Объявите ObjectDataSource (ODS) на странице.Свяжите ODS с функцией, которая возвращает набор данных.Функция должна быть публичной.

public DataSet dataSource()
{
    DataSet ds = new DataSet();
    ds = c.GetSortList();

    return ds;
}

<telerik:GridTemplateColumn AllowFiltering="False" ShowFilterIcon="False">
    <HeaderStyle HorizontalAlign="Center" />
    <HeaderTemplate>
       Change Sort Order
    </HeaderTemplate>
    <ItemStyle HorizontalAlign="Center" Width="5%"/>
    <ItemTemplate>
        <asp:DropDownList ID="myDropDown" DataSourceID="odsDataSource" 
        DataTextField="Order" 
        DataValueField="SortOrder" 
        runat="server"/>
    </ItemTemplate>
</telerik:GridTemplateColumn>

<asp:ObjectDataSource runat="server" ID="odsDataSource"
        SelectMethod="dataSource"
        TypeName="yournamespace.yourclassName"></asp:ObjectDataSource>
...