(e.item.itemtype == listitemtype.item | e.item.itemtype == listitemtype.alternatingitem).
문제
ASP.NET에서 Datagrid를 사용하는 경우 실제로 바로 가기 방법이 없습니다.
(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
기본적으로 "항목은 헤더, 바닥 글, 분리기가 아닌 항목입니다."
나는 하나를 찾을 수 없었지만, 내가 놓친 지 확인하기 위해 stackoverflow에 넣을 것이라고 생각했습니다.
해결책
이를 위해 자신의 확장 방법을 만들 수 있습니다.
using System.Web.UI.WebControls;
public static class UiControlsHelper
{
public static bool IsItem(this DataGridItem item)
{
return item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem;
}
}
그런 다음 다음과 같이 사용할 수 있습니다.
e.Item.IsItem();
GridView와 동일합니다.
public static bool IsDataRow(this GridViewRow row)
{
return row.RowType == DataControlRowType.DataRow;
}
다른 팁
교체 할 수 있습니다 :
if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType...
~와 함께
if (e.Item.DataItem != null) ...
그의 대답은 내 것이 아닙니다. 나는 그것을 테스트하지 않았다. 나는 그것이 있는지 모르겠다 :
- 유효한
- 문서화
- 지원
- .NET 프레임 워크의 향후 버전에서 변경 될 수 있습니다
DataItem이 할당 된 상황이있을 수 있지만 유효한 항목은 아닙니다. 나는 그것을 다른 사람들에게 맡기고, 투표하고, 투표하고, 의견을 말할 것입니다.
바로가 컷은 아니지만이를 기능으로 캡슐화하면 코드가 훨씬 더 읽을 수 있습니다.
확장 방법을 만들기위한 편리한 장소가 될 것입니다. . .
제휴하지 않습니다 StackOverflow