Как использовать поле со списком в devexpress aspxgridview

Я показываю свои данные в виде сетки devexpress. Один из столбцов - это значение состояния. Когда сетка редактируется, я должен показать состояние в поле со списком, чтобы пользователь мог изменить состояние, выбрав другое состояние. В настоящее время он отображается в текстовом поле, поскольку используется по умолчанию. По сути, когда пользователь нажимает кнопку редактирования, поле со списком должно отображаться как часть элементов управления редактированием, а поле со списком должно быть заполнено всеми возможными состояниями в выделенном коде, а выбранное значение должно быть начальным значением в сетке. Сделать это в MS gridview очень просто. Но я не видел ни одного примера кода, как это сделать в devexpress gridview.

Спасибо


person user466663    schedule 04.04.2012    source источник


Ответы (5)


  <dx:GridViewDataTextColumn FieldName="FieldName" VisibleIndex="4">
          <EditItemTemplate>
                <dx:ASPxComboBox ID="ASPxComboBox1" runat="server" DataSourceID="newDataSource" >
                </dx:ASPxComboBox>
           </EditItemTemplate>
  </dx:GridViewDataTextColumn>

Вам нужно будет установить источник данных, чтобы получить список значений

person Guruparan    schedule 07.04.2012

Если у вас нет источника данных и вы хотите включить элементы поля со списком в свой код, вот еще один способ создать столбец:

<dx:GridViewDataComboBoxColumn FieldName="QAAproval" VisibleIndex="11" Width="30px">
    <PropertiesComboBox>`enter code here`
        <Items>
            <dx:ListEditItem Text="GENERIC" Value="GENERIC" />
            <dx:ListEditItem Text="FAIR" Value="FAIR" />
            <dx:ListEditItem Text="VSE" Value="VSE" />
            <dx:ListEditItem Text="ECAV" Value="ECAV" />
            <dx:ListEditItem Text="FMMDS" Value="FMMDS" />
            <dx:ListEditItem Text="CLEAR" Value="CLEAR" />
       </Items>
   </PropertiesComboBox>
   <CellStyle Font-Size="XX-Small">
   </CellStyle>
</dx:GridViewDataComboBoxColumn>
person Maximus56    schedule 09.07.2015

Отредактируйте шаблон GridView и в поле EditTemplate добавьте раскрывающийся список. Это могло бы выглядеть так

<dx:GridViewDataTextColumn Caption="Field Name" 
            FieldName="FieldName" VisibleIndex="3">
            <EditItemTemplate>
                <cc1:DropDownList ID="DropDownList1" runat="server">
                </cc1:DropDownList>
            </EditItemTemplate>
        </dx:GridViewDataTextColumn>

Поэтому, когда вы редактируете эту строку, она покажет DDL

person CJLopez    schedule 04.04.2012
comment
Спасибо за быстрый ответ. Ставит поле со списком. Однако он пустой. Пожалуйста, дайте мне знать, как заполнить его состояниями и установить выбранное значение как то, которое было в gridview. - person user466663; 05.04.2012
comment
Просто сделайте то, что сказал Гурупаран, но это тот случай, когда у вас есть источник данных, если вам нужно получить данные, скажем, из перечисления, ну, вам нужно получить ссылочный элемент управления в EditTemplate - person CJLopez; 10.04.2012

Используйте GridViewDataComboBoxColumn. Объявите источник данных и прикрепите его к столбцу поля со списком или заполните его в программном коде. Этот пример содержит оба варианта.
Вы также можете посмотреть в демонстрации редактирования сетки DevExpress.

person Filip    schedule 05.04.2012

Я использовал следующий код, чтобы иметь поле со списком в aspxgridview.

Надеюсь, этот пример поможет:

    <dx:GridViewDataComboBoxColumn FieldName="DatabaseFieldName" Settings-FilterMode="DisplayText"
Width="3%" VisibleIndex="3" Visible="True" Caption="Priority" Settings-AutoFilterCondition="Contains"
 HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center"
    CellStyle-VerticalAlign="Top">

    <PropertiesComboBox ValueType="System.String" DataSourceID="objDataSourceID"
 Width="200px" Height="25px" TextField="TextFieldName" ValueField="ValueFieldName"
   IncrementalFilteringMode="StartsWith">
</PropertiesComboBox>
</dx:GridViewDataComboBoxColumn>
person Ruchi    schedule 31.07.2012