syedkhaleel Ответов: 1

Встроенное редактирование ячеек в ASP.NET вид сетки


Привет ребята,

Я должен отобразить сетку, которая выглядит как excel и должна выполнять встроенное редактирование ячеек, я добавил несколько строк кода для достижения этой цели.

Пожалуйста, посмотрите на изображение ниже

кликните сюда для имиджа
<asp:GridView ID="gvLabTATList" runat="server" AutoGenerateColumns="False" CssClass="grid-view"

                            DataKeyNames="serviceid"  OnRowDataBound="gvLabTATList_RowDataBound" OnRowCommand="gvLabTATList_RowCommand" BorderColor="#222222" BorderStyle="Solid" BorderWidth="1px"

                            Width="54%"  

                            OnRowUpdating="gvLabTATList_RowUpdating" ShowFooter="True">
                            <Columns>
                             <asp:ButtonField Text="SingleClick" CommandName="SingleClick" Visible="False"/>
                                <asp:TemplateField HeaderText="S No">
                                    <ItemTemplate>
                                        <%# Container.DataItemIndex + 1 %>
                                        <asp:HiddenField ID="hdnServiceID" runat="server" Value='<%# Eval("serviceid") %>' />
                                        <asp:HiddenField ID="hdnID" runat="server" Value='<%# Eval("TATId") %>' />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Service">
                                    <ItemTemplate>
                                        <asp:Label ID="txtServiceName" runat="server" Text='<%# Eval("servicename") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="NTDay">
                                    <ItemTemplate>
                                        <asp:TextBox ID="txtNTDay" runat="server" Text='<%# Eval("NTDay") %>'></asp:TextBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="NTHour">
                                    <ItemTemplate>
                                        <asp:TextBox ID="txtNTHour" runat="server" Text='<%# Eval("NTHour") %>'></asp:TextBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="UTHour">
                                    <ItemTemplate>
                                        <asp:TextBox ID="txtUTHour" runat="server" Text='<%# Eval("UTHour") %>'></asp:TextBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="UTMinutes">
                                    <ItemTemplate>
                                        <asp:TextBox ID="txtUTMinutes" runat="server" Text='<%# Eval("UTMinutes") %>'></asp:TextBox>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>


он должен сработать


protected void gvLabTATList_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
.....}


Заранее спасибо..

Что я уже пробовал:

&ЛТ;в ASP:GridView в идентификатор="gvLabTATList" атрибут runat="сервер" AutoGenerateColumns="false" - в CssClass="грид-посмотреть"
DataKeyNames="ид_службы" OnRowDataBound="gvLabTATList_RowDataBound" OnRowCommand="gvLabTATList_RowCommand" необходимо="#222222" свойства borderstyle="твердый" BorderWidth="1 пиксель"
Ширина= " 54%"
OnRowUpdating=" gvLabTATList_RowUpdating "ShowFooter= "True">
&ЛТ;колонны&ГТ; &ЛТ;как ASP:ButtonField текст="SingleClick" Имя_команды="SingleClick" видны="ложно"/&ГТ;
<asp:TemplateField HeaderText= "S No">
& lt;itemtemplate>
контейнер <%#.DataItemIndex + 1 %>
&ЛТ;как ASP:HiddenField идентификатор="hdnServiceID" атрибут runat="сервер" значение=в'<%# Ивала("ид_службы") %&ГТ;' /&ГТ;
&ЛТ;как ASP:HiddenField идентификатор="hdnID" атрибут runat="сервер" значение=в'<%# Ивала("TATId") %&ГТ;' /&ГТ;


<asp:TemplateField HeaderText= "Service">
& lt;itemtemplate>
&ЛТ;АСП:метка идентификатор="txtServiceName" атрибут runat="сервер" текст=в'<%# функцию eval("имя") %&ГТ; в'>


<asp:TemplateField HeaderText= "NTDay">
& lt;itemtemplate>
&ЛТ;АСП:текстовое поле с ID="txtNTDay" атрибут runat="сервер" текст=в'<%# Ивала("NTDay") %&ГТ; в'>


<asp:TemplateField HeaderText= "NTHour">
& lt;itemtemplate>
&ЛТ;АСП:текстовое поле с ID="txtNTHour" атрибут runat="сервер" текст=в'<%# Ивала("NTHour") %&ГТ; в'>


<asp:TemplateField HeaderText= "UTHour">
& lt;itemtemplate>
&ЛТ;АСП:текстовое поле с ID="txtUTHour" атрибут runat="сервер" текст=в'<%# Ивала("UTHour") %&ГТ; в'>


<asp:TemplateField HeaderText= "UTMinutes">
& lt;itemtemplate>
&ЛТ;АСП:текстовое поле с ID="txtUTMinutes" атрибут runat="сервер" текст=в'<%# Ивала("UTMinutes") %&ГТ; в'>



Suvendu Shekhar Giri

.- а в чем проблема?

[no name]

и после ввода данных он не вызывает никаких событий

Suvendu Shekhar Giri

Какой спусковой крючок должен сработать?
Спасти?

[no name]

охраняемых недействительными gvLabTATList_RowUpdating(объект отправителя, GridViewUpdateEventArgs е)
{
.....}

Suvendu Shekhar Giri

Поставьте точку останова в этом событии и поделитесь своими выводами после отладки.

[no name]

событие не сработало после того, как я ввел значение в текстовое поле

Suvendu Shekhar Giri

в АСП таких объектов нет.Сетевое приложение, которое может вызвать событие при вводе текста в текстовое поле. Но да,вы можете использовать событие textbox text changed, указав его на событие обновления строки gridview.

[no name]

событие должно срабатывать при нажатии enter..я держу все строки в режиме редактирования..can u pls provide some sample

1 Ответов

Рейтинг:
5

Vincent Maverick Durano

По умолчанию элемент управления представлением данных GridView позволяет редактировать только одну строку за раз. Кроме того, событие RowUpdating никогда не будет срабатывать при textchanged текстового поля. Имейте в виду, что автоматическое обновление измененного текстового поля довольно дорого обходится при каждом внесенном вами изменении. Возможно, использование AJAX выполнимо для обслуживания такой функции, но я полагал, что это займет много работы/времени, чтобы заставить ее работать.

В качестве альтернативы можно реализовать массовое редактирование или создать пользовательский элемент управления, расширяющий GridView. Вот некоторые ссылки, которые вы, возможно, захотите посмотреть:


[Динамическое добавление и удаление строк в GridView и сохранение всех строк сразу]


[Массовое Редактирование GridView]