DataGrid.EditItemIndex プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataGrid.EditItemIndex プロパティの意味・解説 

DataGrid.EditItemIndex プロパティ

編集する DataGrid コントロールの項目のインデックス取得または設定します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overridable Property
 EditItemIndex As Integer
Dim instance As DataGrid
Dim value As Integer

value = instance.EditItemIndex

instance.EditItemIndex = value
public virtual int EditItemIndex { get;
 set; }
public:
virtual property int EditItemIndex {
    int get ();
    void set (int value);
}
/** @property */
public int get_EditItemIndex ()

/** @property */
public void set_EditItemIndex (int
 value)
public function get EditItemIndex
 () : int

public function set EditItemIndex
 (value : int)

プロパティ
編集する DataGrid コントロールの項目のインデックス既定値は -1 です。これは、DataGrid コントロールの項目が編集されないことを示します

例外例外
例外種類条件

ArgumentOutOfRangeException

指定されインデックスが -1 未満です。

解説解説

DataGrid コントロールに EditCommandColumn が格納されている場合は、EditItemIndex プロパティ使用してDataGrid コントロール内の編集対象として選択されている項目のインデックス確認します

このプロパティは、どの項目を編集するかをプログラムにより制御する場合にも使用します。このプロパティDataGrid コントロールの項目のインデックス設定すると、EditCommandColumn の項目のコントロール編集有効になります

メモ注意

テキストは、DataGrid コントロール表示される前にHTML エンコードされません。これによって、テキストHTML タグ内のスクリプト埋め込むことができますコントロールの値がユーザー入力による値の場合は、セキュリティ上の危険性低減するために、必ず値を検証するようにしてください

使用例使用例

EditItemIndex プロパティ使用してDataGrid コントロール編集対象として選択されている項目を確認する方法次のコード例示します

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<%@ Import Namespace="System.Data"
 %>
 
<html>
   <script language="VB" runat="server">
 
    Dim Cart As New DataTable
    Dim CartView As DataView
    Sub Page_Load(sender As Object,
 e As EventArgs)
        Dim dr As DataRow
        
        If Session("ShoppingCart")
 Is Nothing Then
            
            Cart.Columns.Add(New DataColumn("Qty",
 GetType(String)))
            Cart.Columns.Add(New DataColumn("Item",
 GetType(String)))
            Cart.Columns.Add(New DataColumn("Price",
 GetType(String)))
            Session("ShoppingCart") = Cart
            
            ' Create sample data.
            Dim i As Integer
            For i = 1 To 4
                dr = Cart.NewRow()
                If i Mod 2 <> 0 Then
                    dr(0) = "2"
                Else
                    dr(0) = "1"
                End If
                dr(1) = "Item " & i.ToString()
                dr(2) =(1.23 *(i + 1)).ToString()
                Cart.Rows.Add(dr)
            Next i
        Else
            Cart = CType(Session("ShoppingCart"),
 DataTable)
        End If 
        CartView = New DataView(Cart)
        CartView.Sort = "Item"
        
        If Not IsPostBack Then
            BindGrid()
        End If 
    End Sub 'Page_Load


    Sub MyDataGrid_Edit(sender As Object,
 e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = e.Item.ItemIndex
        BindGrid()
    End Sub 'MyDataGrid_Edit


    Sub MyDataGrid_Cancel(sender As Object,
 e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = - 1
        BindGrid()
    End Sub 'MyDataGrid_Cancel


    Sub MyDataGrid_Update(sender As Object,
 e As DataGridCommandEventArgs)
        ' For bound columns, the edited value is stored in a TextBox.
        ' The TextBox is the 0th element in the column's cell.
        Dim qtyText As TextBox = CType(e.Item.Cells(2).Controls(0),
 TextBox)
        Dim priceText As TextBox = CType(e.Item.Cells(3).Controls(0),
 TextBox)
        
        Dim item As String
 = e.Item.Cells(1).Text
        Dim qty As String
 = qtyText.Text
        Dim price As String
 = priceText.Text
        
        Dim dr As DataRow
        
        ' With a database, use an update command to update the data.
 Because 
        ' the data source in this example is an in-memory DataTable,
 delete the 
        ' old row and replace it with a new one.
        CartView.RowFilter = "Item='" & item & "'"
        If CartView.Count > 0 Then
            CartView.Delete(0)
        End If
        CartView.RowFilter = ""
        
        ' Add new entry.
        dr = Cart.NewRow()
        dr(0) = qty
        dr(1) = item
        dr(2) = price
        Cart.Rows.Add(dr)
        
        MyDataGrid.EditItemIndex = - 1
        BindGrid()
    End Sub 'MyDataGrid_Update


    Sub BindGrid()
        MyDataGrid.DataSource = CartView
        MyDataGrid.DataBind()
    End Sub 'BindGrid
 
   </script>
 
<body style="font: 10pt verdana">
 
   <form runat="server">

      <h3>DataGrid Editing Example</h3>
 
      <asp:DataGrid id="MyDataGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           OnEditCommand="MyDataGrid_Edit"
           OnCancelCommand="MyDataGrid_Cancel"
           OnUpdateCommand="MyDataGrid_Update"
           AutoGenerateColumns="false">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>
 
         <Columns>

            <asp:EditCommandColumn
                 EditText="Edit"
                 CancelText="Cancel"
                 UpdateText="Update" 
                 HeaderText="Edit Command Column">

               <ItemStyle Wrap="false">
               </ItemStyle>

               <HeaderStyle Wrap="false">
               </HeaderStyle>

            </asp:EditCommandColumn>            
 
            <asp:BoundColumn HeaderText="Item"
 
                 ReadOnly="true"
 
                 DataField="Item"/>
 
            <asp:BoundColumn HeaderText="Quantity"
 
                 DataField="Qty"/>
 
            <asp:BoundColumn HeaderText="Price"
 
                 DataField="Price"/>
 
         </Columns>
 
      </asp:DataGrid>

   </form>
 
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language="C#" runat="server">
 
      DataTable Cart = new DataTable();
      DataView CartView;   
 
      void Page_Load(Object sender, EventArgs e) 
      {
         DataRow dr;
  
         if (Session["ShoppingCart"] == null)
 
         {       
 
            Cart.Columns.Add(new DataColumn("Qty", typeof(String)));
            Cart.Columns.Add(new DataColumn("Item",
 typeof(String)));
            Cart.Columns.Add(new DataColumn("Price",
 typeof(String)));
            Session["ShoppingCart"] = Cart;
             
            // Create sample data.
            for (int i = 1; i <= 4; i++)
 
            {
               dr = Cart.NewRow();
               if (i % 2 != 0)
                  dr[0] = "2";
               else
                  dr[0] = "1";
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1)).ToString();
               Cart.Rows.Add(dr);
            }
         } 
         else
            Cart = (DataTable)Session["ShoppingCart"];          
 
         CartView = new DataView(Cart);
         CartView.Sort="Item";
 
         if (!IsPostBack)
            BindGrid(); 
                   
      }
 
      void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs
 e) 
      {
         MyDataGrid.EditItemIndex = e.Item.ItemIndex;
         BindGrid();
      }
 
      void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs
 e) 
      {
         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }
 
      void MyDataGrid_Update(Object sender, DataGridCommandEventArgs
 e) 
      {
         // For bound columns, the edited value is stored in a TextBox.
         // The TextBox is the 0th element in the column's cell.
         TextBox qtyText = (TextBox)e.Item.Cells[2].Controls[0];
         TextBox priceText = (TextBox)e.Item.Cells[3].Controls[0];
 
         String item = e.Item.Cells[1].Text;
         String qty = qtyText.Text;
         String price = priceText.Text;
        
         DataRow dr;
 
         // With a database, use an update command to update the data.
 Because 
         // the data source in this example is an in-memory DataTable,
 delete the 
         // old row and replace it with a new one.
 
         // Remove old entry.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0)
            CartView.Delete(0);
         CartView.RowFilter = "";
 
         // Add new entry.
         dr = Cart.NewRow();
         dr[0] = qty;
         dr[1] = item;
         dr[2] = price;
         Cart.Rows.Add(dr);
 
         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }
 
      void BindGrid() 
      {
         MyDataGrid.DataSource = CartView;
         MyDataGrid.DataBind();
      }
 
   </script>
 
<body style="font: 10pt verdana">
 
   <form runat="server">

      <h3>DataGrid Editing Example</h3>
 
      <asp:DataGrid id="MyDataGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           OnEditCommand="MyDataGrid_Edit"
           OnCancelCommand="MyDataGrid_Cancel"
           OnUpdateCommand="MyDataGrid_Update"
           AutoGenerateColumns="false">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>
 
         <Columns>

            <asp:EditCommandColumn
                 EditText="Edit"
                 CancelText="Cancel"
                 UpdateText="Update" 
                 HeaderText="Edit Command Column">

               <ItemStyle Wrap="false">
               </ItemStyle>

               <HeaderStyle Wrap="false">
               </HeaderStyle>

            </asp:EditCommandColumn>            
 
            <asp:BoundColumn HeaderText="Item" 
                 ReadOnly="true" 
                 DataField="Item"/>
 
            <asp:BoundColumn HeaderText="Quantity" 
                 DataField="Qty"/>
 
            <asp:BoundColumn HeaderText="Price" 
                 DataField="Price"/>
 
         </Columns>
 
      </asp:DataGrid>

   </form>
 
</body>
</html>

<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language="JScript" runat="server">
 
      var Cart : DataTable = new DataTable();
      var CartView : DataView;   
 
      function Page_Load(sender, e : EventArgs) 
      {
         var dr : DataRow;
 
         if (Session["ShoppingCart"] == null)
 
         {       
            Cart.Columns.Add(new DataColumn("Qty", System.String));
            Cart.Columns.Add(new DataColumn("Item",
 System.String));
            Cart.Columns.Add(new DataColumn("Price",
 System.String));
            Session["ShoppingCart"] = Cart;
             
            // Create sample data.
            for (var i : int
 = 1; i <= 4; i++) 
            {
               dr = Cart.NewRow();
               if (i % 2 != 0)
                  dr[0] = "2";
               else
                  dr[0] = "1";
               dr[1] = "Item " + i.ToString();
               dr[2] = (1.23 * (i + 1)).ToString();
               Cart.Rows.Add(dr);
            }
         } 
         else
            Cart = DataTable(Session["ShoppingCart"]);          
 
         CartView = new DataView(Cart);
         CartView.Sort="Item";
 
         if (!IsPostBack)
            BindGrid(); 
                   
      }
 
      function MyDataGrid_Edit(sender, e : DataGridCommandEventArgs)
 
      {
         MyDataGrid.EditItemIndex = e.Item.ItemIndex;
         BindGrid();
      }
 
      function MyDataGrid_Cancel(sender, e : DataGridCommandEventArgs)
 
      {
         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }
 
      function MyDataGrid_Update(sender, e : DataGridCommandEventArgs)
 
      {
         // For bound columns, the edited value is stored in a TextBox.
         // The TextBox is the 0th element in the column's cell.
         var qtyText : TextBox = TextBox(e.Item.Cells[2].Controls[0]);
         var priceText : TextBox = TextBox(e.Item.Cells[3].Controls[0]);
 
         var item : String = e.Item.Cells[1].Text;  
         var qty : String = qtyText.Text;
         var price : String = priceText.Text;
        
         var dr : DataRow;
 
         // With a database, use an update command to update the data.
 Because 
         // the data source in this example is an in-memory DataTable,
 delete the 
         // old row and replace it with a new one.

         // Remove old entry.
         CartView.RowFilter = "Item='" + item + "'";
         if (CartView.Count > 0)
            CartView.Delete(0);
         CartView.RowFilter = "";
 
         // Add new entry.
         dr = Cart.NewRow();
         dr[0] = qty;
         dr[1] = item;
         dr[2] = price;
         Cart.Rows.Add(dr);
 
         MyDataGrid.EditItemIndex = -1;
         BindGrid();
      }

      function BindGrid() 
      {
         MyDataGrid.DataSource = CartView;
         MyDataGrid.DataBind();
      } 
 
   </script>
 
<body style="font: 10pt verdana">
 
   <form runat="server">

      <h3>DataGrid Editing Example</h3>
 
      <asp:DataGrid id="MyDataGrid" runat="server"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           Font-Name="Verdana"
           Font-Size="8pt"
           OnEditCommand="MyDataGrid_Edit"
           OnCancelCommand="MyDataGrid_Cancel"
           OnUpdateCommand="MyDataGrid_Update"
           AutoGenerateColumns="false">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>
 
         <Columns>

            <asp:EditCommandColumn
                 EditText="Edit"
                 CancelText="Cancel"
                 UpdateText="Update" 
                 HeaderText="Edit Command Column">

               <ItemStyle Wrap="false">
               </ItemStyle>

               <HeaderStyle Wrap="false">
               </HeaderStyle>

            </asp:EditCommandColumn>            
 
            <asp:BoundColumn HeaderText="Item" 
                 ReadOnly="true" 
                 DataField="Item"/>
 
            <asp:BoundColumn HeaderText="Quantity" 
                 DataField="Qty"/>
 
            <asp:BoundColumn HeaderText="Price" 
                 DataField="Price"/>
 
         </Columns>
 
      </asp:DataGrid>

   </form>
 
</body>
</html>

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataGrid クラス
DataGrid メンバ
System.Web.UI.WebControls 名前空間
EditCommand
EditCommandColumn


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataGrid.EditItemIndex プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataGrid.EditItemIndex プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataGrid.EditItemIndex プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataGrid.EditItemIndex プロパティ」の関連用語





DataGrid.EditItemIndex プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGrid.EditItemIndex プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS