ASP.Net에서 DataGrid를 사용하여 정말바로 가기
(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
에 대한 바로 가기 방법이 없습니다 기본적으로 "항목은 머리글, 바닥 글, 구분 기호가 아닌 항목입니다."
하나를 찾을 수 없었지만 StackOverflow에 놓아서 놓치고 있는지 확인했습니다.
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;
}
지름길은 아니지만이를 함수로 캡슐화하면 코드가 훨씬 더 읽기 쉽습니다.
확장 방법을 만들기에 편리한 곳이 될 것입니다. . .
Sagi은 answer을 하나에 추가했습니다. my question s.
당신은 대체 할 수
if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType...
if (e.Item.DataItem != null) ...
그의 대답하지 내
와 함께. 나는 그것을 시험하지 않았다. 그건 나도 몰라 :아주 잘 상황 곳이있을 수 있습니다 .NET 프레임 워크의 향후 버전에서 변경
이것은 나를 위해 일했습니다. :) - thanks –
이것은 현재 내가 가지고 있으며 지금까지 실행 가능한 것으로 입증되었습니다. 나는 더 간단한 것을 찾고 있었다. – Jared
나는 그보다 더 간단해질 수 있다고 생각하지 않는다. 당신은 e.Item.IsItem()에 물어봐야 만합니다. 전에 당신이 그 긴 비명을 지르는 사람이있는 곳에서 ... – MartinHN