Member 12097108 Ответов: 2

Как отобразить общее время в gridview


In      MealIn  MealOut MealBreak TeaIn  TeaOut TeaBreak OutTime TimeSpent
12:52PM	12:55PM	1:05PM	00:10	  1:13PM 1:45PM	00:32	 4:21PM	02:47
12:52PM	12:55PM	1:05PM	00:10	  2:11PM 2:23PM	00:12	 4:21PM	03:07
12:52PM	12:55PM	1:05PM	00:10	  3:11PM 3:15PM	00:04	 4:21PM	03:15
Sub Total	                                                09:09
Grand Total	                                                09:09

Это мой выход.Я вошел в систему в (26/10. 2016) 12: 52 вечера
сначала мы делаем перерыв на 10 минут.затем я сделал перерыв на чай 32 минуты, так что время составляет 2: 47. теперь я делаю еще один перерыв на чай в тот же день в течение 12 минут, а в третий раз я сделал перерыв на чай в течение 4 минут, так что общий перерыв составляет 48 минут
Мое время начала-12: 52 вечера, а время окончания-4:21 вечера, так что между временем начала и продолжительностью окончания-общее время перерыва, например, 3:29-48=2:41, так что я потратил общее время 2: 41.
Я хочу выводить вот так..
<pre lang="C#">
In      MealIn  MealOut MealBreak TeaIn  TeaOut TeaBreak TeaIn  TeaOut TeaBreak TeaIn  
12:52PM	12:55PM	1:05PM	00:10	  1:13PM 1:45PM	00:32    2:11PM 2:23PM	00:12   3:11PM 
TeaOut TeaBreak  OutTime TimeSpent
3:15PM	00:04	 4:21PM	 02:41
Sub Total	           02:41
Grand Total	           02:41</pre>

Я хочу вывести такой вывод в gridview in asp.net -не могли бы вы мне помочь?Я пришлю свой код gridview и процедуру.

Что я уже пробовал:

код gridview.
<asp:GridView ID="grdView" runat="server" AutoGenerateColumns="false" CssClass="table table-bordered" TabIndex="1" Width="100%" 

                                    GridLines="Vertical" OnRowCreated="grdView_RowCreated1" OnRowDataBound="grdView_RowDataBound1">
                                    <Columns>
                                        <asp:BoundField DataField="LoginDate" HeaderText="LoginDate" SortExpression="LoginDate" />
                                        <asp:BoundField DataField="FullName" HeaderText="EmployeeName" SortExpression="FullName" />
                                        <asp:BoundField DataField="STime" HeaderText="In Time" SortExpression="STime" />

                                        <asp:BoundField DataField="MTimeIn" HeaderText="MealIn" SortExpression="MTimeIn" />
                                        <asp:BoundField DataField="MTimeOut" HeaderText="MealOut" SortExpression="MTimeOut" />
                                        <asp:BoundField DataField="MealTimeSpent" HeaderText="MealBreak" SortExpression="MealTimeSpent" />
                                        

                                        <asp:BoundField DataField="TTimeIn" HeaderText="TeaIn" SortExpression="TTimeIn" />
                                        <asp:BoundField DataField="TTimeOut" HeaderText="TeaOut" SortExpression="TTimeOut" />
                                        <asp:BoundField DataField="TeaTimeSpent" HeaderText="TeaBreak" SortExpression="TeaTimeSpent" />
                                        <asp:BoundField DataField="TeaTimeSpentMinutes" HeaderText="TimeSpentMinutes" SortExpression="TeaTimeSpentMinutes" Visible="false" />


                                        <asp:BoundField DataField="OTimeIn" HeaderText="Oth.In" SortExpression="OTimeIn" />
                                        <asp:BoundField DataField="OTimeOut" HeaderText="Oth.Out" SortExpression="OTimeOut" />
                                        <asp:BoundField DataField="OtherTimeSpent" HeaderText="OtherBreak" SortExpression="OtherTimeSpent" />
                                        <asp:BoundField DataField="OtherTimeSpentMinutes" HeaderText="TimeSpentMinutes" SortExpression="OtherTimeSpentMinutes" Visible="false" />

                                        <asp:BoundField DataField="ETime" HeaderText="OutTime" SortExpression="ETime" />
                                        <asp:BoundField DataField="TimeSpentWork" HeaderText="TimeSpent" SortExpression="TimeSpentWork" />
                                        <asp:BoundField DataField="EmployeeId" HeaderText="EmployeeId" SortExpression="EmployeeId" Visible="false"></asp:BoundField>
                                        <asp:BoundField DataField="TimeSpentMinutes" HeaderText="TimeSpentMinutes" SortExpression="TimeSpentMinutes" Visible="false" />
                                    </Columns>
                                </asp:GridView>


процедура.
Выберите Преобразовать (VARCHAR, T. CreateDateTime, 105) как [LoginDate],
E. Полное Имя,
Т. StartTimeIn,
Т. EndTimeOut,

CONVERT(varchar(15), CAST(StartTimeIn AS TIME), 100) AS [STime],
Конвертировать(тип varchar(15),литой(EndTimeOut как раз),100) как [ETime],
Конвертировать(тип varchar(15),литой(MealTimeIn как раз),100) как [MTimeIn],
Конвертировать(тип varchar(15),литой(MealTimeOut как раз),100) как [MTimeOut],
CONVERT(varchar(15), CAST (D.TeaTimeIn AS TIME), 100) AS [TTimeIn],
CONVERT(varchar(15), CAST (D.TeaTimeOut как время), 100) как [TTimeOut],
Конвертировать(тип varchar(15),литой(OtherTimeIn как раз),100) как [OTimeIn],
Конвертировать(тип varchar(15),литой(OtherTimeOut как раз),100) как [OTimeOut],


Конвертировать(тип varchar(5), функция dateadd(минуту, функция datediff(минуту, StartTimeIn, функция isnull(EndTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0), 114) как [TimeSpent] ,
Функция datediff(минуту, StartTimeIn, функция isnull(EndTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))) Как [TimeSpentMinutes],

Конвертировать(тип varchar(5), функция dateadd(минуту, функция datediff(минуту, MealTimeIn, функция isnull(MealTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0), 114) как [MealTimeSpent] ,
Функция datediff(минуту, MealTimeIn, функция isnull(MealTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))) Как [MealTimeSpentMinutes],

Конвертировать(тип varchar(5), функция dateadd(минуту, функция datediff(минутах, Д. TeaTimeIn, функция isnull(Д.TeaTimeOut, SWITCHOFFSET(SYSDATETIMEOFFSET(), "+05:30"))), 0), 114) как [TeaTimeSpent] ,
Функция datediff(минутах, Д. TeaTimeIn, функция isnull(Д.TeaTimeOut, SWITCHOFFSET(SYSDATETIMEOFFSET (), "+05: 30"))) Как [TeaTimeSpentMinutes],

Конвертировать(тип varchar(5), функция dateadd(минуту, функция datediff(минуту, OtherTimeIn, функция isnull(OtherTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0), 114) как [OtherTimeSpent] ,
Функция datediff(минуту, OtherTimeIn, функция isnull(OtherTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))) Как [OtherTimeSpentMinutes],

Конвертировать(тип varchar(5),функция isnull(функция dateadd(минуту, функция datediff(минуту, StartTimeIn, функция isnull(EndTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0),0)-
(Функция isnull(функция dateadd(минуту, функция datediff(минуту, MealTimeIn, функция isnull(MealTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0),0) +
Функция isnull(функция dateadd(минуту, функция datediff(минутах, Д. TeaTimeIn, функция isnull(Д.TeaTimeOut, SWITCHOFFSET(SYSDATETIMEOFFSET(), "+05:30"))), 0),0) +
Функция isnull(функция dateadd(минуту, функция datediff(минуту, OtherTimeIn, функция isnull(OtherTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))), 0),0)),114) как [TimeSpentWork],

Функция datediff(минуту, StartTimeIn, функция isnull(EndTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30")))-
(Функция isnull(функция datediff(минуту, MealTimeIn, функция isnull(MealTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))),0)+
Функция isnull(функция datediff(минутах, Д. TeaTimeIn, функция isnull(Д.TeaTimeOut, SWITCHOFFSET(SYSDATETIMEOFFSET(), "+05:30"))),0)+
Функция isnull(функция datediff(минуту, OtherTimeIn, функция isnull(OtherTimeOut,функция switchoffset(SYSDATETIMEOFFSET(), "+05:30"))),0) ) как [TimeSpentMinutesWork],

Е. Кодсотрудника
ОТ
DailyTimeRecord Т
Внутреннее соединение сотрудников е на Е. Кодсотрудника = т. Кодсотрудника
Внутреннее соединение TeaBreak D на T. DailyTimeRecordId = D. DailyTimeRecordId

2 Ответов

Рейтинг:
0

BIKASH KARMAKAR

1 .you can to Use This One In For Footer
and in Gridview ShowFooter="True"
 
2 .Add this In GridView
<TemplateField> 
<ItemTemplate> 
 <asp:Label ID="lblsum" runat="server" Text="Label"></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lbltotal" runat="server" Text="Label"></asp:Label>
</FooterTemplate>
</TemplateField>


Member 12097108

Здравствуйте, сэр, я уже получил полную стоимость, но не должным образом.Я отправил свой вывод и процедуру, так что вы можете проверить мою процедуру и дать некоторые правильные изменения в запросе, чтобы я мог получить его.

Рейтинг:
0

BIKASH KARMAKAR

3. 
decimal sumFooterValue = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
         string sponsorBonus = ((Label)e.Row.FindControl("Label2")).Text;
         decimal totalvalue = Convert.ToDecimal(sponsorBonus) ;
         e.Row.Cells[6].Text = totalvalue.ToString();
        sumFooterValue += totalvalue 
        }

    if (e.Row.RowType == DataControlRowType.Footer)
        {
           Label lbl = (Label)e.Row.FindControl("lblTotal");
           lbl.Text = sumFooterValue.ToString();
        }

   }

Suggestion Convert label To DateTime Format while Counting in RowDataBound
If you are good in C#

Thank You