Partager via


DataGrid.EditItemStyle Propriété

Définition

Obtient les propriétés de style de l'élément sélectionné pour être modifié dans le contrôle DataGrid.

public:
 virtual property System::Web::UI::WebControls::TableItemStyle ^ EditItemStyle { System::Web::UI::WebControls::TableItemStyle ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.TableItemStyle EditItemStyle { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.EditItemStyle : System.Web.UI.WebControls.TableItemStyle
Public Overridable ReadOnly Property EditItemStyle As TableItemStyle

Valeur de propriété

TableItemStyle

Objet TableItemStyle qui contient les propriétés de style de l'élément sélectionné pour être modifié dans le contrôle DataGrid. La valeur par défaut est un objet TableItemStyle vide.

Attributs

Exemples

L’exemple de code suivant montre comment utiliser la EditItemStyle propriété pour définir la couleur d’arrière-plan de l’élément sélectionné pour la modification en jaune.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <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>
 
 <head runat="server">
    <title>DataGrid Editing Example</title>
</head>
<body style="font: 10pt verdana">
 
    <form id="form1" runat="server">
        
       <h3>DataGrid Editing Example</h3>
 
       <asp:DataGrid id="MyDataGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="3"
            Font-Names="Verdana"
            Font-Size="8pt"
            OnEditCommand="MyDataGrid_Edit"
            OnCancelCommand="MyDataGrid_Cancel"
            OnUpdateCommand="MyDataGrid_Update"
            AutoGenerateColumns="false">

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

            <EditItemStyle BackColor="yellow">
            </EditItemStyle>
 
          <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="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <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.

        ' Remove old entry.
        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>
 
 <head runat="server">
    <title>DataGrid Editing Example</title>
</head>
<body style="font: 10pt verdana">
 
    <form id="form1" runat="server">
        
       <h3>DataGrid Editing Example</h3>
 
       <asp:DataGrid id="MyDataGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="3"
            Font-Names="Verdana"
            Font-Size="8pt"
            OnEditCommand="MyDataGrid_Edit"
            OnCancelCommand="MyDataGrid_Cancel"
            OnUpdateCommand="MyDataGrid_Update"
            AutoGenerateColumns="false">

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

            <EditItemStyle BackColor="yellow">
            </EditItemStyle>
 
          <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>

Remarques

Utilisez la EditItemStyle propriété pour fournir un style personnalisé pour l’élément sélectionné pour la modification dans le DataGrid contrôle. Les attributs de style courants qui peuvent être ajustés incluent la couleur forecolore, la couleur arrière, la police et l’alignement du contenu dans la cellule. Fournir un autre style améliore l’apparence du DataGrid contrôle.

Les propriétés de style d’élément dans le DataGrid contrôle sont héritées d’une propriété de style d’élément à une autre via une hiérarchie. Les propriétés de style d’élément définies plus bas dans la hiérarchie sont héritées par les propriétés de style d’élément supérieures dans la hiérarchie. Par exemple, si vous spécifiez une police rouge pour la ItemStyle propriété, toutes les autres propriétés de style d’élément dans le DataGrid contrôle auront également une police rouge. Cela vous permet de fournir une apparence commune pour le contrôle en définissant une propriété de style d’élément unique. Vous pouvez remplacer les paramètres de style hérités pour une propriété de style d’élément supérieure dans la hiérarchie en définissant ses propriétés de style. Par exemple, vous pouvez spécifier une police bleue pour la AlternatingItemStyle propriété, en remplaçant la police rouge spécifiée dans la ItemStyle propriété. Le tableau suivant répertorie l’ordre hiérarchique le plus élevé au plus bas.

Priorité Style, propriété
1 EditItemStyle
2 SelectedItemStyle
3 AlternatingItemStyle
4 ItemStyle
5 ControlStyle

Pour spécifier un style personnalisé pour l’élément sélectionné pour modification, placez les <EditItemStyle> balises entre les balises d’ouverture et de fermeture du DataGrid contrôle. Vous pouvez ensuite répertorier les attributs de style dans la balise d’ouverture <EditItemStyle> .

S’applique à

Voir aussi