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 určující, zda formátovací řetězec určený DataFormatString vlastností je použita na hodnoty pole, když ovládací prvek vázané na data obsahující 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
truepoužít formátovací řetězec na hodnoty polí v režimu úprav; v opačném případě . false Výchozí hodnota je false.
Příklady
Následující příklad kódu ukazuje, jak použít ApplyFormatInEditMode vlastnost použít formátovací řetězec na hodnoty pole, 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 ovládací prvek vázané na data je v režimu jen pro čtení. Chcete-li použít formátovací řetězec na hodnoty zobrazené, zatímco ovládací prvek vázané na data je v režimu úprav, nastavte ApplyFormatInEditMode vlastnost na true.
Poznámka:
Objekt BoundField při aktualizaci pole ve zdroji dat automaticky neodebere formátování. Pokud nechcete formátování jako součást uložené hodnoty, budete muset formátování odebrat prostřednictvím kódu programu.