BoundField.ApplyFormatInEditMode Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se a cadeia de caracteres de formatação especificada pela propriedade DataFormatString é aplicada aos valores de campo quando o controle associado de dados que contém o objeto BoundField está no modo de edição.
public:
virtual property bool ApplyFormatInEditMode { bool get(); void set(bool value); };
public virtual bool ApplyFormatInEditMode { get; set; }
member this.ApplyFormatInEditMode : bool with get, set
Public Overridable Property ApplyFormatInEditMode As Boolean
Valor da propriedade
true
para aplicar a cadeia de caracteres de formatação aos valores de campo no modo de edição; caso contrário, false
. O padrão é false
.
Exemplos
O exemplo de código a seguir demonstra como usar a ApplyFormatInEditMode propriedade para aplicar a cadeia de caracteres de formatação a valores de campo enquanto um GridView controle está no modo de edição. A formatação é então removida programaticamente antes que o valor seja atualizado na fonte de dados.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomersGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
{
// Use the NewValues property to retrieve the updated CustomerID
// value entered by the user.
String customerID = e.NewValues["CustomerID"].ToString();
// Remove the formating applied by the DataFormatString property.
if(customerID.StartsWith("D:"))
{
e.NewValues["CustomerID"] = customerID.Substring(2);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>BoundField Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>BoundField Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
onrowupdating="CustomersGridView_RowUpdating"
runat="server">
<columns>
<asp:boundfield datafield="CustomerID"
dataformatstring="D:{0}"
applyformatineditmode="true"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
convertemptystringtonull="true"
headertext="Customer Name"/>
<asp:boundfield datafield="Address"
convertemptystringtonull="true"
headertext="Address"/>
<asp:boundfield datafield="City"
convertemptystringtonull="true"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
convertemptystringtonull="true"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
convertemptystringtonull="true"
headertext="Country"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
updatecommand="Update Customers Set CustomerID=@CustomerID, CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country Where (CustomerID = @CustomerID)"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
<%@ Page language="VB" AutoEventWireup="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomersGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles CustomersGridView.RowUpdating
' Use the NewValues property to retrieve the updated CustomerID
' value entered by the user.
Dim customerID As String = e.NewValues("CustomerID").ToString()
' Remove the formating applied by the DataFormatString property.
If customerID.StartsWith("D:") Then
e.NewValues("CustomerID") = customerID.Substring(2)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>BoundField Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>BoundField Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
runat="server">
<columns>
<asp:boundfield datafield="CustomerID"
dataformatstring="D:{0}"
applyformatineditmode="true"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
convertemptystringtonull="true"
headertext="Customer Name"/>
<asp:boundfield datafield="Address"
convertemptystringtonull="true"
headertext="Address"/>
<asp:boundfield datafield="City"
convertemptystringtonull="true"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
convertemptystringtonull="true"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
convertemptystringtonull="true"
headertext="Country"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
updatecommand="Update Customers Set CustomerID=@CustomerID, CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country Where (CustomerID = @CustomerID)"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Comentários
Os controles associados a dados (como DetailsView, FormViewe GridView) têm modos de exibição diferentes que permitem que o usuário leia, edite ou insira registros. Por padrão, a cadeia de caracteres de formatação especificada pela DataFormatString propriedade é aplicada a valores de campo somente quando o controle associado a dados está no modo somente leitura. Para aplicar a cadeia de caracteres de formatação a valores exibidos enquanto o controle associado a dados estiver no modo de edição, defina a ApplyFormatInEditMode propriedade como true
.
Observação
Um BoundField objeto não remove automaticamente a formatação quando o campo é atualizado na fonte de dados. Se você não quiser que a formatação como parte do valor seja armazenada, será necessário remover a formatação programaticamente.