Я хочу отображать только продолжительность, час, минуты и секунды в Gridview данных путем вычитания TimeCheckOut из TimeCheckIn в ASP.NET с использованием LINQ to SQL
Вот код:
Dim db = new MyDataContext
Dim user = from u in db.Employees select IDNumber = u.IDNumber, _
FirstName = u.firstName, LastName = u.lastName, TimeCheckIn = u.timeCheckIn, _
TimeCheckOut = u.timeCheckOut, Duration = u.timeCheckIn
Gridview1.DataSource = user
Gridview1.DataBind()
Код на странице:
<asp:GridView ID="GridView1" runat="server" Width="100%"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="IDNumber" HeaderText="ID Number" ReadOnly="True" />
<asp:BoundField DataField="FirstName" HeaderText="First Name" ReadOnly="True"/>
<asp:BoundField DataField="LastName" HeaderText="Last Name" ReadOnly="True"/>
<asp:BoundField DataField="TimeCheckIn" HeaderText="Time Check In" ReadOnly="True"/>
<asp:BoundField DataField="TimeCheckOut" HeaderText="Time Check Out" ReadOnly="True" />
<asp:TemplateField HeaderText="Duration">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# FieldDisplayDuration(Eval("Duration")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Вот мой помощник для FieldDisplayDuration:
Protected Function FieldDisplayDuration(ByVal Duration As DateTime) As String
Dim rtn As String = "DefaultValue"
Dim dif As TimeSpan = DateTime.Now.Subtract(Duration)
rtn = dif.Hours & " hours, " & dif.Minutes & " minutes, " & dif.Seconds & " seconds. "
Return rtn
End Function
В строке 3 в вспомогательной функции Dim dif имеет значение TimeSpan = DateTime.Now.Subtract (Duration), которое задает только продолжительность Hour, Minute и Second от TimeCheckIn до DateTime.Now. Однако я хочу, чтобы продолжительность от TimeCheckIn до TimeCheckOut была только в часах, минутах и секундах. Я знаю, что функция FieldDisplayDuration - абсолютно неправильная логика, но я просто хочу, чтобы вы получили только мою точку зрения, а также это может быть пример кода для тех, кто хочет рассчитать продолжительность сотрудника с даты найма. Наконец, давайте вернемся к TimeSpan путем вычитания TimeCheckOut из TimeCheckIn в проблеме gridview. Как я могу это сделать? Пожалуйста, дайте мне понять ... Спасибо вам большое ...