Как добавить TextBox в указанную c ячейку в GridView в ASP веб-формах? - PullRequest
0 голосов
/ 13 февраля 2020

Этот вопрос может показаться повторяющимся, но у меня немного другая проблема. У меня есть GridView с несколькими столбцами. Первый столбец - это столбец Button, а остальные заполняются из базы данных.

Постановка проблемы:
Когда пользователь нажимает кнопку Edit в указанной строке c, в столбце с именем UnitRate в столбце должно появиться TextBox. GridView gv2. Текст по умолчанию TextBox должен быть значением / текстом той же ячейки. Этот TextBox должен отображаться только для указанной ячейки c, а не для всего столбца. Текущий GridView показан ниже.

enter image description here

И я хочу что-то вроде этого
enter image description here

Код для GridView

 <asp:GridView ID="gv2" runat="server" Font-Size="Small" OnRowCommand="gv2_RowCommand">
           <HeaderStyle BackColor="Yellow" />
           <AlternatingRowStyle BackColor="LightGray" />
           <RowStyle BackColor="LightGray" />
           <Columns>
                 <asp:TemplateField>
                      <ItemTemplate>
                           <asp:Button ID="btn_edit" runat="server" Text="Edit" CssClass="btn btn-warning btn-sm" CommandName="editData" CommandArgument='<%# Container.DisplayIndex %>' />
                      </ItemTemplate>
                 </asp:TemplateField>
           </Columns></asp:GridView>

1 Ответ

0 голосов
/ 13 февраля 2020

Вы можете попробовать что-то вроде этого: https://www.c-sharpcorner.com/UploadFile/1e050f/edit-and-update-record-in-gridview-in-Asp-Net/

Вы можете использовать EditItemTemplate, чтобы сделать это поле UnitRate текстовым полем, когда пользователь нажимает кнопку редактирования. Затем вы можете сделать EditItemTemplate для всех остальных полей просто меткой. Недостаток заключается в том, что вам необходимо четко прописать все столбцы, а не создавать их автоматически, но это неизбежно, если вы хотите, чтобы произошло нечто нестандартное, например, когда одно поле редактируемое, а другие нет.

...