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

 

posted @ 2014-08-27 13:47  清空回声  阅读(384)  评论(0)    收藏  举报