CheckBox全选功能
在做项目的时候,经常要用到GridView选择全部显示数据行,这个功能,需要添加一个CheckBox控件来控制
页面代码:
<%-- <asp:TemplateField HeaderText="全选"> <HeaderTemplate> <asp:CheckBox runat="server" ID="ckbAll" OnCheckedChanged="SearchAll" AutoPostBack="true"> </asp:CheckBox> </HeaderTemplate> <ItemTemplate> <asp:CheckBox runat="server" ID="cbItem"></asp:CheckBox> </ItemTemplate> </asp:TemplateField>--%> 这次采用的是按钮 <div style="float: right"> <asp:Button ID="btnSelectAll" runat="server" Text="全选" OnClick="btnSelectAll_Click" /> <asp:Button ID="BtnCancel" runat="server" Text="取消" OnClick="BtnCancel_Click" /> </div>
后台代码:
string hotel_name = this.txt_hotel_name.Text.ToString(); string hotel_machine_code = this.txt_machine_code.Text.ToString(); string machine_Type = this.ddl_Machine_Type.SelectedValue.ToString(); HotelMachineDA hmDa = new HotelMachineDA(); List<padts_hotel_machine> hmList = new List<padts_hotel_machine>(); if (ddl_Machine_Type.SelectedValue == "PAD") { machine_Type = "PAD"; } else if (ddl_Machine_Type.SelectedValue == "TV") { machine_Type = "TV"; } hmList = hmDa.GetChannelMappingByFilter(hotel_name, hotel_machine_code, machine_Type); this.GdvMappingList.DataSource = hmList; this.GdvMappingList.DataBind(); for (int i = 0; i < this.GdvMappingList.Rows.Count; i++) { CheckBox ck = this.GdvMappingList.Rows[i].FindControl("ck_Get") as CheckBox; string MachineCode = this.GdvMappingList.Rows[i].Cells[1].Text; if (Codelist.Contains(MachineCode)) { ck.Checked = true; //ck.Enabled = false;//禁用 } }
Linq 写的底层方法:
#region 检索时间范,异常,查询日志 public List<padts_tracking_log> GetTrackLogBy( string machineCode,string startTime,string endTime,string errState) { using (HotelSystemEntities context = new HotelSystemEntities(connectionString)) { var q = from c in context.padts_tracking_log select c; if (startTime!="" && endTime!="") { DateTime start_dt = Convert.ToDateTime(startTime); DateTime end_dt = Convert.ToDateTime(endTime); end_dt=end_dt.AddHours(23); end_dt = end_dt.AddMinutes(59); end_dt = end_dt.AddSeconds(59); end_dt = end_dt.AddMilliseconds(59); q = q.Where(c =>c.timestamp >= start_dt && c.timestamp <= end_dt); //between start_dt and end_dt; } if (machineCode != "") q = q.Where(c => c.hotel_machine_code.Contains(machineCode)); if (errState == "ERROR") { q = q.Where(c => c.Error_Status.Equals("ERROR")); } q= q.OrderByDescending(c=> c.log_id); return q.Take(1000).ToList<padts_tracking_log>(); } } #endregion
清空回声
浙公网安备 33010602011771号