BoundField.ApplyFormatInEditMode プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DataFormatString オブジェクトを格納しているデータ バインド コントロールが編集モードである場合に、BoundField プロパティで指定した書式指定文字列をフィールド値に適用するかどうかを示す値を取得または設定します。
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
プロパティ値
編集モードで書式指定文字列をフィールド値に適用する場合は true
。それ以外の場合は false
。 既定値は、false
です。
例
次のコード例では、 プロパティを ApplyFormatInEditMode 使用して、コントロールが編集モードの間にフィールド値に書式設定文字列を GridView 適用する方法を示します。 その後、データ ソースで値が更新される前に、プログラムによって書式設定が削除されます。
<%@ 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>
注釈
データ バインド コントロール (、FormView、、 GridViewなどDetailsView) には、ユーザーがレコードの読み取り、編集、または挿入を行うさまざまな表示モードがあります。 既定では、 プロパティで DataFormatString 指定された書式設定文字列は、データ バインド コントロールが読み取り専用モードの場合にのみフィールド値に適用されます。 データ バインド コントロールが編集モードの間に表示される値に書式設定文字列を適用するには、 プロパティを ApplyFormatInEditMode に true
設定します。
注意
BoundFieldデータ ソースでフィールドが更新された場合、オブジェクトは書式を自動的に削除しません。 値の一部として書式設定を保存しない場合は、プログラムで書式設定を削除する必要があります。
適用対象
こちらもご覧ください
.NET