У меня есть следующая сетка, которая находится внутри панели обновления:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="ButtonAdd" runat="server" OnClick="ButtonAdd_Click" Text="Novo Artigo" />
<asp:GridView ID="Dados" runat="server" AutoGenerateColumns="False" CssClass="Grid">
<Columns>
<asp:TemplateField HeaderText="Artigo">
<ItemTemplate>
<asp:TextBox ID="Artigo" runat="server"></asp:TextBox>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="Artigo"
PopupControlID="PanelArtigos"
>
</asp:ModalPopupExtender>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Descrição">
<ItemTemplate>
<asp:TextBox ID="Descricao" runat="server" Width="300px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IVA">
<ItemTemplate>
<asp:TextBox ID="IVA" runat="server" Width="40px" Enabled="false"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Pr. Unit.">
<ItemTemplate>
<asp:TextBox ID="PU" runat="server" Width="50px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="% Desc.">
<ItemTemplate>
<asp:TextBox ID="Desconto" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="UN">
<ItemTemplate>
<asp:TextBox ID="UN" runat="server" Width="50px" Enabled="false"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Quant.">
<ItemTemplate>
<asp:TextBox ID="Quantidade" runat="server" Width="50px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total Liquido">
<ItemTemplate>
<asp:TextBox ID="TotalLiquido" runat="server" Enabled="false"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="RemoveArtigo" runat="server" OnClick="RemoveArtigo_Click">Remover
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle Font-Size="Small" />
<RowStyle Font-Size="Small" CssClass="grid" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
Как вы можете видеть, у меня есть некоторые текстовые поля.
Когда я изменяю значение в текстовом поле, например, значение Desconto, и оставьте это текстовое поле, я хочу, чтобы строка, где я должен быть обновлен, используя новое значение, присутствующее в текстовом поле. Это как TextChanged или onBlur, но внутри панели обновления это не работает.
Каков наилучший способ сделать это?
Я использую VB.NET.
Спасибо.
РЕДАКТИРОВАТЬ:
При добавлении OnTextChanged = "Desconto_TextChanged" я получаю эту ошибку компиляции:
Ошибка компиляции Описание: An У меня есть некоторые текстовые поля.
Когда я изменяю значение в текстовом поле, например значение Desconto, и оставляю это текстовое поле, я хочу, чтобы строка, в которой я должен быть обновлен, использовала новое значение, присутствующее в текстовом поле. Это как TextChanged или onBlur, но внутри панели обновления это не работает.
Каков наилучший способ сделать это?
Я использую VB.NET.
Спасибо.
РЕДАКТИРОВАТЬ:
При добавлении OnTextChanged = "Desconto_TextChanged" я получаю эту ошибку компиляции:
Ошибка компиляции Описание: An У меня есть некоторые текстовые поля.
Когда я изменяю значение в текстовом поле, например значение Desconto, и оставляю это текстовое поле, я хочу, чтобы строка, в которой я должен быть обновлен, использовала новое значение, присутствующее в текстовом поле. Это как TextChanged или onBlur, но внутри панели обновления это не работает.
Каков наилучший способ сделать это?
Я использую VB.NET.
Спасибо.
РЕДАКТИРОВАТЬ:
При добавлении OnTextChanged = "Desconto_TextChanged" я получаю эту ошибку компиляции:
Ошибка компиляции Описание: An ошибка произошла во время компиляции ресурса, необходимого для обслуживания этого запрос. Пожалуйста, просмотрите следующее конкретные детали ошибки и измените ваш соответствующий исходный код.
Сообщение об ошибке компилятора: BC30456: Desconto_TextChanged не является участником «ASP.index_aspx».
Ошибка источника:
Строка 204:
Строка 205:
Строка 206:
Строка 207:
Строка 208:
Исходный файл: C: \ Inetpub \ Wwwroot \ фактур \ фактур \ index.aspx Строка: 206
TextBox
элементы управления не будут инициировать обратную передачу по умолчанию. вы можете установить AutoPostBack
на true
для каждого элемента управления текстовым полем.
Я считаю, что вам нужно событие TextChanged
. Как сказал Линкольнк, вам нужно, чтобы для AutoPostBack
было установлено значение True
, чтобы текстовое поле запускало обратную передачу. Затем внутри обработчика событий вызовите Dados.DataBind ()
, чтобы перезагрузить данные GridView.