DetailsView.CurrentMode プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DetailsView コントロールの現在の日付入力モードを取得します。
public:
property System::Web::UI::WebControls::DetailsViewMode CurrentMode { System::Web::UI::WebControls::DetailsViewMode get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.DetailsViewMode CurrentMode { get; }
[<System.ComponentModel.Browsable(false)>]
member this.CurrentMode : System.Web.UI.WebControls.DetailsViewMode
Public ReadOnly Property CurrentMode As DetailsViewMode
プロパティ値
DetailsViewMode 値のいずれか 1 つ。
- 属性
例
次のコード例では、 プロパティを CurrentMode 使用して、コントロールが編集モード、挿入モード、または読み取り専用モードかどうかを DetailsView 判断する方法を示します。 コントロールが編集モードの間にユーザーが別の DetailsView レコードに移動しようとすると、ページング操作は取り消されます。
<%@ 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 CustomerDetailView_ItemCommand(Object sender,
DetailsViewCommandEventArgs e)
{
// Clear the error message if the user cancels the edit
// operation.
if (e.CommandName == "Cancel")
{
ErrorMessageLabel.Text = "";
}
}
protected void CustomerDetailView_PageIndexChanging(
object sender, DetailsViewPageEventArgs e)
{
// Cancel the paging operation if the user tries to
// navigate to another record while in edit mode.
if (CustomerDetailView.CurrentMode == DetailsViewMode.Edit)
{
e.Cancel = true;
// Display an error message.
ErrorMessageLabel.Text =
"You cannot navigate to another record while in edit mode.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
DetailsView CurrentMode Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>
DetailsView CurrentMode Example</h3>
<asp:DetailsView ID="CustomerDetailView"
DataSourceID="DetailsViewSource"
AutoGenerateRows="true"
AutoGenerateEditButton="true"
DataKeyNames="CustomerID"
GridLines="Both"
AllowPaging="true"
OnItemCommand="CustomerDetailView_ItemCommand"
runat="server"
OnPageIndexChanging="CustomerDetailView_PageIndexChanging">
<HeaderStyle BackColor="Navy" ForeColor="White" />
</asp:DetailsView>
<br />
<asp:Label ID="ErrorMessageLabel"
ForeColor="Red" runat="server" />
<!-- 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="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomerDetailView_ItemCommand(ByVal sender As Object, _
ByVal e As DetailsViewCommandEventArgs)
' Clear the error message if the user cancels the edit
' operation.
If e.CommandName = "Cancel" Then
ErrorMessageLabel.Text = ""
End If
End Sub
Protected Sub CustomerDetailView_PageIndexChanging( _
ByVal sender As Object, ByVal e As DetailsViewPageEventArgs)
' Cancel the paging operation if the user tries to navigate
' to another record while in edit mode.
If CustomerDetailView.CurrentMode = DetailsViewMode.Edit Then
e.Cancel = True
' Display an error message.
ErrorMessageLabel.Text = _
"You cannot navigate to another record while in edit mode."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
DetailsView CurrentMode Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>
DetailsView CurrentMode Example</h3>
<asp:DetailsView ID="CustomerDetailView"
DataSourceID="DetailsViewSource"
AutoGenerateRows="true"
AutoGenerateEditButton="true"
DataKeyNames="CustomerID"
GridLines="Both"
AllowPaging="true"
OnItemCommand="CustomerDetailView_ItemCommand"
runat="server"
OnPageIndexChanging="CustomerDetailView_PageIndexChanging">
<HeaderStyle BackColor="Navy" ForeColor="White" />
</asp:DetailsView>
<br />
<asp:Label ID="ErrorMessageLabel"
ForeColor="Red" runat="server" />
<!-- 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="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
注釈
コントロールが CurrentMode 編集モード、挿入モード、または読み取り DetailsView 専用モードであるかどうかを判断するには、 プロパティを使用します。 次の表に、さまざまなモード値を示します。
モード | 説明 |
---|---|
DetailsViewMode.Edit |
コントロールは DetailsView 編集モードで、ユーザーはレコードの値を更新できます。 |
DetailsViewMode.Insert |
コントロールが DetailsView 挿入モードになっているため、ユーザーは新しいレコードをデータ ソースに追加できます。 |
DetailsViewMode.ReadOnly |
コントロールは DetailsView 、通常の表示モードである読み取り専用モードです。 |
通常、この値は、[新規]、[更新]、[挿入]、[削除]、または [キャンセル] コマンド ボタンをクリックすると、コントロールによって DetailsView 自動的に設定されます。 メソッドを使用して、プログラムでモードを ChangeMode 変更することもできます。
コントロールがモードを DetailsView 変更すると、次の表のイベントが発生します。 これにより、イベントが発生したときにルーチンを実行するカスタム イベント ハンドラーを作成できます。
Event | 説明 |
---|---|
ModeChanged | コントロールのモードを変更するコマンド ボタンがクリックされ、モード DetailsView が変更された後に発生します。 |
ModeChanging | コントロールのモードを変更するコマンド ボタンがクリックされ、モード DetailsView が変更される前に発生します。 |
適用対象
こちらもご覧ください
.NET