DataGrid.EditItemStyle Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera właściwości stylu elementu wybranego do edycji w kontrolce 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
Wartość właściwości
TableItemStyle Obiekt zawierający właściwości stylu elementu wybranego do edycji w kontrolceDataGrid. Wartość domyślna to pusty TableItemStyle obiekt.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą EditItemStyle właściwości ustawić kolor tła elementu wybranego do edycji na żółty.
<%@ 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>
Uwagi
EditItemStyle Użyj właściwości , aby podać niestandardowy styl elementu wybranego do edycji w kontrolceDataGrid. Wspólne atrybuty stylu, które można dostosować, obejmują kolor tła, czcionkę i wyrównanie zawartości w komórce. Zapewnienie innego stylu zwiększa wygląd kontrolki DataGrid .
Właściwości stylu elementu w kontrolce DataGrid są dziedziczone z jednej właściwości stylu elementu do innej za pośrednictwem hierarchii. Właściwości stylu elementu ustawione niżej w hierarchii są dziedziczone przez właściwości stylu elementu wyższe w hierarchii. Jeśli na przykład określisz czerwoną czcionkę dla ItemStyle właściwości, wszystkie inne właściwości stylu elementu w kontrolce DataGrid będą również miały czerwoną czcionkę. Dzięki temu można zapewnić wspólny wygląd kontrolki, ustawiając właściwość stylu pojedynczego elementu. Możesz zastąpić dziedziczone ustawienia stylu właściwości stylu elementu, która jest wyższa w hierarchii, ustawiając jej właściwości stylu. Można na przykład określić niebieską czcionkę dla AlternatingItemStyle właściwości, przesłaniając czerwoną czcionkę określoną we ItemStyle właściwości . W poniższej tabeli wymieniono kolejność hierarchii od najwyższego do najniższego.
Pierwszeństwo | Właściwość stylu |
---|---|
1 | EditItemStyle |
2 | SelectedItemStyle |
3 | AlternatingItemStyle |
4 | ItemStyle |
5 | ControlStyle |
Aby określić niestandardowy styl elementu wybranego do edycji, umieść <EditItemStyle>
tagi między tagami otwierania i zamykania kontrolki DataGrid . Następnie można wyświetlić listę atrybutów stylu w tagu otwierającym <EditItemStyle>
.