GridViewRow.RowType 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
GridViewRow 개체의 행 형식을 가져옵니다.
public:
virtual property System::Web::UI::WebControls::DataControlRowType RowType { System::Web::UI::WebControls::DataControlRowType get(); void set(System::Web::UI::WebControls::DataControlRowType value); };
public virtual System.Web.UI.WebControls.DataControlRowType RowType { get; set; }
member this.RowType : System.Web.UI.WebControls.DataControlRowType with get, set
Public Overridable Property RowType As DataControlRowType
속성 값
DataControlRowType 값 중 하나입니다.
예제
다음 예제에서는 사용 하는 방법에 설명 합니다 RowType 만들어지는 행 바닥글 행이 있는지 여부를 결정 하는 속성입니다. 행을 바닥글 행 인 경우 바닥글 행에 열의 합계에 대 한 값이 업데이트 됩니다.
<%@ 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">
// Create a variable to store the order total.
private Decimal orderTotal = 0.0M;
void OrderGridView_RowCreated(Object sender, GridViewRowEventArgs e)
{
// Retrieve the current row.
GridViewRow row = e.Row;
// Update the column total if the row being created is
// a footer row.
if (row.RowType == DataControlRowType.Footer)
{
// Get the OrderTotalTotal Label control in the footer row.
Label total = (Label)e.Row.FindControl("OrderTotalLabel");
// Display the grand total of the order formatted as currency.
if (total != null)
{
total.Text = orderTotal.ToString("c");
}
}
}
void OrderGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
// Retrieve the current row.
GridViewRow row = e.Row;
// Add the field value to the column total if the row being created is
// a data row.
if (row.RowType == DataControlRowType.DataRow)
{
// Get the cell that contains the item total.
TableCell cell = e.Row.Cells[2];
// Get the DataBoundLiteralControl control that contains the
// data bound value.
DataBoundLiteralControl boundControl = (DataBoundLiteralControl)cell.Controls[0];
// Remove the '$' character for the type converter to work properly.
String itemTotal = boundControl.Text.Replace("$", "");
// Add the total for an item (row) to the order total.
orderTotal += Convert.ToDecimal(itemTotal);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRow RowType Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRow RowType Example</h3>
<!-- Populate the Columns collection declaratively. -->
<!-- Create a custom TemplateField column that uses -->
<!-- two Label controls to display an author's first and -->
<!-- last name in the same column. -->
<asp:gridview id="OrderGridView"
datasourceid="OrderSqlDataSource"
autogeneratecolumns="False"
showfooter="true"
onrowcreated="OrderGridView_RowCreated"
onrowdatabound="OrderGridView_RowDataBound"
runat="server">
<columns>
<asp:boundfield datafield="UnitPrice"
itemstyle-horizontalalign="Right"
headertext="Unit Price"
dataformatstring="{0:c}"/>
<asp:boundfield datafield="Quantity"
itemstyle-horizontalalign="Right"
headertext="Quantity"/>
<asp:templatefield headertext="Total"
itemstyle-horizontalalign="Right"
footerstyle-horizontalalign="Right"
footerstyle-backcolor="Blue"
footerstyle-forecolor="White">
<itemtemplate>
<%#Eval("Total", "{0:c}") %>
</itemtemplate>
<footertemplate>
<asp:label id="OrderTotalLabel"
runat="server"/>
</footertemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<asp:sqldatasource id="OrderSqlDataSource"
selectcommand="SELECT [OrderID], [UnitPrice], [Quantity], [UnitPrice]*[Quantity] As [Total] FROM [order details] WHERE [OrderID]=10248"
connectionstring="server=localhost;database=northwind;integrated security=SSPI"
runat="server">
</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">
' Create a variable to store the order total.
Private orderTotal As Decimal = 0.0
Sub OrderGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
' Retrieve the current row.
Dim row As GridViewRow = e.Row
' Update the column total if the row being created is
' a footer row.
If row.RowType = DataControlRowType.Footer Then
' Get the OrderTotalTotal Label control in the footer row.
Dim total As Label = CType(e.Row.FindControl("OrderTotalLabel"), Label)
' Display the grand total of the order formatted as currency.
If (Not total Is Nothing)
total.Text = orderTotal.ToString("c")
End If
End If
End Sub
Sub OrderGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
' Retrieve the current row.
Dim row As GridViewRow = e.Row
' Add the field value to the column total if the row being created is
' a data row.
If row.RowType = DataControlRowType.DataRow Then
' Get the cell that contains the item total.
Dim cell As TableCell = e.Row.Cells(2)
' Get the DataBoundLiteralControl control that contains the
' data bound value.
Dim boundControl As DataBoundLiteralControl = CType(cell.Controls(0), DataBoundLiteralControl)
' Remove the '$' character for the type converter to work properly.
Dim itemTotal As String = boundControl.Text.Replace("$", "")
' Add the total for an item (row) to the order total.
orderTotal += Convert.ToDecimal(itemTotal)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRow RowType Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRow RowType Example</h3>
<!-- Populate the Columns collection declaratively. -->
<!-- Create a custom TemplateField column that uses -->
<!-- two Label controls to display an author's first and -->
<!-- last name in the same column. -->
<asp:gridview id="OrderGridView"
datasourceid="OrderSqlDataSource"
autogeneratecolumns="False"
showfooter="true"
onrowcreated="OrderGridView_RowCreated"
onrowdatabound="OrderGridView_RowDataBound"
runat="server">
<columns>
<asp:boundfield datafield="UnitPrice"
itemstyle-horizontalalign="Right"
headertext="Unit Price"
dataformatstring="{0:c}"/>
<asp:boundfield datafield="Quantity"
itemstyle-horizontalalign="Right"
headertext="Quantity"/>
<asp:templatefield headertext="Total"
itemstyle-horizontalalign="Right"
footerstyle-horizontalalign="Right"
footerstyle-backcolor="Blue"
footerstyle-forecolor="White">
<itemtemplate>
<%#Eval("Total", "{0:c}") %>
</itemtemplate>
<footertemplate>
<asp:label id="OrderTotalLabel"
runat="server"/>
</footertemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<asp:sqldatasource id="OrderSqlDataSource"
selectcommand="SELECT [OrderID], [UnitPrice], [Quantity], [UnitPrice]*[Quantity] As [Total] FROM [order details] WHERE [OrderID]=10248"
connectionstring="server=localhost;database=northwind;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
설명
사용 된 RowType 속성의 형식을 결정 하는 행을 GridViewRow 개체가 나타내는 합니다. 다음 표에서 사용 하 여 다른 행 형식 값을 DataControlRowType 열거형입니다.
행 형식 | Description |
---|---|
DataRow | 데이터 행에는 GridView 제어 합니다. |
Footer | 바닥글 행을 GridView 제어 합니다. |
Header | 머리글 행에는 GridView 제어 합니다. |
EmptyDataRow | 빈 행을 GridView 제어 합니다. 빈 행을 표시 되 면 GridView 컨트롤에 표시할 레코드가 없습니다. |
Pager | 페이저 행을 GridView 제어 합니다. |
Separator | 행 구분 기호는 GridView 제어 합니다. |
이 속성은 작업을 수행 하기 전에 행의 형식을 확인 하려면 일반적으로 사용 됩니다.