2
Answers

Checkbox select all doesnt work

Photo of Nicker

Nicker

8y
480
1
Hi, I've tried select all but it doesn't check all the box
 
html code:
<asp:GridView ID="GridParents" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="true" AllowPaging="true" AllowSorting="true" DataKeyNames="Parent_ID" DataSourceID="SQLParents" PageSize="3">
   <Columns>
      <asp:TemplateField>
         <HeaderTemplate>
            <asp:CheckBox ID="checkAll" onClick="javascript:SelectAll(this);" runat="server"></asp:CheckBox>
         </HeaderTemplate>
         <ItemTemplate>
            <asp:CheckBox ID="checkThis" runat="server"></asp:CheckBox>
         </ItemTemplate>
      </asp:TemplateField>
      <asp:BoundField DataField="Parent_ID" HeaderText="Parent ID" InsertVisible="false" ReadOnly="true" SortExpression="Parent_ID" />
      <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
      <asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />
      <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
   </Columns>
</asp:GridView>
 
 
Script code: 
<script type="text/javascript">
   function SelectAll(mainCheck) {
   var IsChecked = mainCheck.checked;
   var Chk = mainCheck;
   Parent = document.getElementById('GridParents');
   for (i = 1; i < Parent.rows.length; i++) {
      var items = Parent.rows[i].children[1];
      if (items.checked != IsChecked) {
      items.click();
      }
   }
}
</script>
 
note: 
parent.rows[I].children[1] is the checkbox, I add .click() function to it, but checkbox remain the same 
 
Please Help. Thanks 
 

Answers (2)

0
Photo of Siva Tiyyagura
NA 26 4 8y

Assuming yout Table1 will have all working day timings(except for leaves) and Table2 will have Leaves information Below TSQL can give you the required result.
SELECT * INTO #Temp
FROM
(
SELECT
[empid]
,[attdate] AS [Date]
,CAST(DAY([attdate]) AS VARCHAR(2))+ '(' +CAST([attdate] AS VARCHAR(25))+')' AS [Day]
,'Status' = CASE WHEN [ workedhours] > 8 THEN 'P' ELSE 'AB' END
FROM [Table1]
UNION
SELECT
[empid]
,[leavedate] AS [Date]
,CAST(DAY([leavedate]) AS VARCHAR(2))+ '(' +CAST([leavedate] AS VARCHAR(25))+')' AS [Day]
,'Status' = 'L'
FROM [Table2]
) AS [Result]

SELECT DISTINCT [Date],[Day] INTO #Temp2 FROM #Temp ORDER BY [Date]

DECLARE @ColumnNames NVarchar(MAX)
DECLARE @SqlQuery NVARCHAR(max)

SELECT @ColumnNames=STUFF((
select ',['+ [Day] +']'
from #Temp2
FOR XML PATH('')
)
,1,1,'')

SET @SqlQuery = N'SELECT [empID],' + @ColumnNames +' FROM (Select [EmpId],[Day],[Status] From #Temp) P Pivot (MAX([Status]) For [Day] in (' +@ColumnNames+'))AS PivotTable;'

EXEC Sp_executeSql @SqlQuery