작업 완료 날짜 & 작업 데드 라인의 DATEDIFF
을 표시 할 쿼리가 있습니다. 작업이 시간 내에 완료되었는지 여부를 표시하고 날짜 차이 값에 따라 결과를 "완료 시간"및 "완료 시간 없음"으로 표시하려고합니다. 시간에 완료 경우 < 0 것은 시간 내에 완료되지 않을 경우asp.net Gridview에서 DateDiff 값에 따라 String을 표시하는 방법은 무엇입니까?
select memname,
CONVERT(nvarchar, DATEDIFF(d,CompleteDate,FreeTrialTaskMst.Enddate)) AS Difference
from member
여기에 내가 value >= 0
를 얻을.
이제이 값을 얻으면 텍스트를 "완료 시간"또는 "완료되지 않음"으로 그리드에 바인딩하려고합니다. 그리드보기에서
:
<asp:TemplateField HeaderText=" DeadLine">
<ItemTemplate>
<asp:Label ID="lblDeadLine" runat="server" Text='<%# (Eval("DeadLine")) %>' ReadOnly="true"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
그것을 어떻게?
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRow row = ((DataRowView)e.Row.DataItem).Row;
Label lblDeadLine = (Label)e.Row.FindControl("lblDeadLine");
int deadLine = int.Parse(row.Field<String>("DeadLine"));
if(deadLine < 0)
lblDeadLine.Text = "Not Completed in Time";
else
lblDeadLine.Text = "Completed in Time";
}
}
하지만 난 처음부터 (SELECT CASE WHEN ...
)에서 SQL 당 또한 그것을 할 제안 :
@vikram을 이용해 주셔서 감사합니다. 매우 도움이됩니다. –