BoundField.ApplyFormatInEditMode Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu označující, zda je formátovací řetězec určený DataFormatString vlastností použit na hodnoty pole, když ovládací prvek vázané na data, který obsahuje BoundField objekt je v režimu úprav.
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
Hodnota vlastnosti
true
použít formátovací řetězec na hodnoty polí v režimu úprav; v opačném případě . false
Výchozí formát je false
.
Příklady
Následující příklad kódu ukazuje, jak pomocí ApplyFormatInEditMode vlastnosti použít formátovací řetězec na hodnoty polí, zatímco GridView ovládací prvek je v režimu úprav. Formátování se pak programově odebere před aktualizací hodnoty ve zdroji dat.
<%@ 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>
Poznámky
Ovládací prvky vázané na data (například DetailsView, FormViewa GridView) mají různé režimy zobrazení, které uživateli umožňují číst, upravovat nebo vkládat záznamy. Ve výchozím nastavení se formátovací řetězec určený DataFormatString vlastností použije na hodnoty polí pouze v případě, že je ovládací prvek svázaný s daty v režimu jen pro čtení. Pokud chcete formátovací řetězec použít u hodnot zobrazených v době, kdy je ovládací prvek vázané na data v režimu úprav, nastavte vlastnost na ApplyFormatInEditModetrue
.
Poznámka
Objekt BoundField při aktualizaci pole ve zdroji dat automaticky neodebere formátování. Pokud nechcete, aby se formátování uložilo jako součást hodnoty, budete ho muset odebrat programově.