Раскрывающийся список при редактировании GridView - PullRequest
3 голосов
/ 19 мая 2011

Я хотел бы отобразить поле в моем GridView в виде DropDownList, когда пользователь редактирует строку.DropDownList будет предварительно заполнен двумя значениями «Да» и «Нет», и в зависимости от того, какое значение выберет пользователь, я хотел бы установить переменную.

Пример:

Iесть поле, называемое активным.1 = активный, 0 = не активный.Хотя для пользователя я бы хотел, чтобы они либо установили Active как «Да» (1), либо «Нет» (0).Когда при редактировании строки они могут выбрать «Да» или «Нет» из выпадающего списка, в качестве переменной будет установлено значение 1 или 0, поэтому я могу отправить это обратно в обновлении SQL.

Я нашел эту статью MSDN .

, но она только говорит мне, как заполнить DropDownList из источника данных, который не будет работать для меня, так как каждое поле имеетда или нет для активных.Также он отображает выпадающий список даже при просмотре GridView, а не только при редактировании.

Надеюсь, это имеет смысл, спасибо за помощь.

РЕДАКТИРОВАТЬ

Вот код, который у меня сейчас есть, он почти работает как я 'Мне бы это понравилось.Все, что мне нужно сделать сейчас, это изменить текст метки на «Да», если значение «Active» равно «True», и изменить текст на «Нет», если значение «Active» равно «False».

<asp:TemplateField HeaderText="Active" SortExpression="Active" >
                        <ItemTemplate>
                             <asp:Label ID="lblActive" runat="server" text='<%# Eval("Active") %>'/>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server" SelectedValue='<%# Bind("Active")  %>'>
                                <asp:ListItem Text="Yes" Value="True"></asp:ListItem>
                                <asp:ListItem Text="No" Value="False"></asp:ListItem>
                            </asp:DropDownList>
                        </EditItemTemplate>
                    </asp:TemplateField>

Ответы [ 5 ]

1 голос
/ 19 мая 2011

Вы можете добавить список элементов как ...

<asp:DropDownList ID="DropDownList1" runat="server">
        <asp:ListItem Text="Yes" Value="1"></asp:ListItem>
        <asp:ListItem Text="No" Value="0"></asp:ListItem>
    </asp:DropDownList>

И вы можете связать SelectedValue, и он автоматически передаст БД в 1 or o.

0 голосов
/ 11 мая 2015

Это поздний ответ, но он поможет другим людям, которые сталкиваются с тем же сценарием.

учебник codezone4

0 голосов
/ 27 августа 2012

Вам не нужно привязывать строку строки, вам просто нужно преобразовать столбец в поле шаблона.

0 голосов
/ 20 мая 2011
  1. поместить элемент управления меткой (для отображения текущего значения в базе данных) и раскрывающийся список в шаблоне edititem

    <asp:Label ID="lbl" runat="server" Text='<%#Eval("authostatus") %>' Visible="false"></asp:Label>
    <asp:DropDownList ID="Autharisationddl" runat="server">
      <asp:ListItem Text="Yes" Value="1"></asp:ListItem>
      <asp:ListItem Text="No" Value="0"></asp:ListItem>
    </asp:DropDownList>
    
  2. В событии привязки строки в виде сетки задайте раскрывающийся списокзначение в соответствии с контрольным значением метки.

    if ((e.Row.RowState & DataControlRowState.Edit) > 0)
    {
      Label lbl= (Label)e.Row.FindControl("lbl");
      DropDownList ddl= (DropDownList)e.Row.FindControl("ddl");
    
      if (lbl!= null)
      {
        if (lbl.Text == "1")
          ddl.SelectedValue = "1";
        else if (lbl.Text == "0")
          ddl.SelectedValue = "0";
      }
    }
    

спасибо

0 голосов
/ 19 мая 2011

Используйте раскрывающийся список в EditTemplate и используйте метку, чтобы показать выбор в ItemTemplate См. Этот пример в msdn post (прокрутите до конца сценарий выпадающего списка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...