<table>
<tr>
<td colspan="5">请选择试卷制定人员<span style="color:red">(选一人即可)</span>:</td>
</tr>
<tr>
<td style="width:50px;">姓名:</td>
<td style="width:80px;"><asp:TextBox ID="txtemployee" runat="server" Width="80px" ></asp:TextBox></td>
<td style="width:50px;">部门:</td>
<td style="width:120px;"><asp:TextBox ID="txtdepartment" runat="server" Width="120px" ></asp:TextBox></td>
<td style="text-align:left"><asp:Button ID="btnquery" runat="server" Text="查询" Width="80px" OnClick="btnquery_Click" /></td>
</tr>
<tr>
<td colspan="5">
<div style="height: 200px; overflow-y: scroll;width:500px;border:1px solid #808080;">
<asp:GridView ID="EmployeeGrid" runat="server" AutoGenerateColumns="False" Width="480px" BorderColor="#ffffff" BorderStyle="None" BorderWidth="0px" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="WorkNumber" HeaderText="工号" HeaderStyle-HorizontalAlign="Left" SortExpression="WorkNumber" />
<asp:BoundField DataField="EmployeeName" HeaderText="姓名" HeaderStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ChineseName" HeaderText="部门" HeaderStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="JobName" HeaderStyle-Width="130px" HeaderText="岗位" HeaderStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
</div>
</td>
<td style="width: 120px;padding-left:50px">
<asp:Button Text=" ==> " runat="server" ID="addWorker" OnClick="addWorker_Click" BorderStyle="None" /><br />
<br />
<asp:Button Text=" <== " runat="server" ID="deleteWorker" BorderStyle="None" OnClick="deleteWorker_Click" /><br />
<br />
</td>
<td>
<div style="height:200px;overflow-y:scroll;border:1px solid #808080;width:500px">
已选人员:
<asp:GridView ID="selectedGrid" runat="server" AutoGenerateColumns="False" style="width:480px;" BorderColor="#ffffff" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="WorkNumber" HeaderText="工号" SortExpression="WorkNumber" HeaderStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="EmployeeName" HeaderText="姓名" HeaderStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ChineseName" HeaderText="部门" HeaderStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="JobName" HeaderStyle-Width="130px" HeaderText="岗位" HeaderStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView></div>
</td>
</tr>
</table>

protected void addWorker_Click(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("WorkNumber"));
table.Columns.Add(new DataColumn("EmployeeName"));
table.Columns.Add(new DataColumn("ChineseName"));
table.Columns.Add(new DataColumn("JobName"));
foreach (GridViewRow row in selectedGrid.Rows)
{
DataRow sourseRow = table.NewRow();
sourseRow["WorkNumber"] = row.Cells[1].Text;
sourseRow["EmployeeName"] = row.Cells[2].Text;
sourseRow["ChineseName"] = row.Cells[3].Text;
sourseRow["JobName"] = row.Cells[4].Text;
table.Rows.Add(sourseRow);
}
int rowCount = this.EmployeeGrid.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
CheckBox tempChk = (CheckBox)EmployeeGrid.Rows[i].FindControl("CheckBox1");
if (tempChk.Checked == true)
{
DataRow sourseRow = table.NewRow();
sourseRow["WorkNumber"] = EmployeeGrid.Rows[i].Cells[1].Text;
sourseRow["EmployeeName"] = EmployeeGrid.Rows[i].Cells[2].Text;
sourseRow["ChineseName"] = EmployeeGrid.Rows[i].Cells[3].Text;
sourseRow["JobName"] = EmployeeGrid.Rows[i].Cells[4].Text;
table.Rows.Add(sourseRow);
((CheckBox)EmployeeGrid.Rows[i].FindControl("CheckBox1")).Checked = false;
break;
}
}
this.selectedGrid.DataSource = table;
this.selectedGrid.DataBind();
}
protected void deleteWorker_Click(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("WorkNumber"));
table.Columns.Add(new DataColumn("EmployeeName"));
table.Columns.Add(new DataColumn("ChineseName"));
table.Columns.Add(new DataColumn("JobName"));
foreach (GridViewRow row in selectedGrid.Rows)
{
DataRow sourseRow = table.NewRow();
sourseRow["WorkNumber"] = row.Cells[1].Text;
sourseRow["EmployeeName"] = row.Cells[2].Text;
sourseRow["ChineseName"] = row.Cells[3].Text;
sourseRow["JobName"] = row.Cells[4].Text;
table.Rows.Add(sourseRow);
}
foreach (GridViewRow row in selectedGrid.Rows)
{
if (((CheckBox)row.Cells[0].FindControl("CheckBox1")).Checked)
{
foreach (DataRow dtRow in table.Rows)
{
if (dtRow["WorkNumber"].ToString() == row.Cells[1].Text)
{
table.Rows.Remove(dtRow);
break;
}
}
}
}
selectedGrid.DataSource = table;
selectedGrid.DataBind();
}
//初始化员工信息
public void InitWorkers(string workername, string department)
{
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LogInConnectionString"].ConnectionString);
Conn.Open();
string strSQL = "select * from (";
strSQL += "select ROW_NUMBER() over(order by EmployeeName) as xuhao, e.WorkNumber,e.EmployeeName,p.ChineseName,j.JobName from PUB_Employee e join ";
strSQL += " PUB_FrameworkRelation f on f.RelationID=e.EmployeeCode ";
strSQL += " join PUB_Post p on p.ID=e.PostID ";
strSQL += " join PUB_Job j on j.ID=e.JobID ";
strSQL += " where f.CancelState=0 ";
strSQL += " ) source where 1=1 ";
if (!string.IsNullOrEmpty(workername))
{
strSQL += " and source.EmployeeName like '%" + workername + "%'";
}
if (!string.IsNullOrEmpty(department))
{
strSQL += " and source.ChineseName like '%" + department + "%'";
}
SqlDataAdapter da = new SqlDataAdapter(strSQL.ToString(), Conn);
//实例化 DataSet 数据集 这个数据集会绑定在gridview上
DataSet data = new DataSet();
//向数据集中fill(填入)数据 da填入data
da.Fill(data, "table");
//将填好数据的数据集data 绑定到gridView空间上
this.EmployeeGrid.DataSource = data;
this.EmployeeGrid.DataBind();
}
protected void btnquery_Click(object sender, EventArgs e)
{
InitWorkers(txtemployee.Text, txtdepartment.Text);
}

asp gridview的更多相关文章

  1. asp gridview批量删除和全选

    本人新手刚学asp.net   全选和删除也是引用了他人的代码试了一试可以实现,感觉很好,就发了上来. 前台代码 <asp:GridView ID="GridView1" r ...

  2. asp:ObjectDataSource+asp:GridView 实现真分页

    <asp:GridView ID="GridViewCacheManager" DataSourceID="OdsCacheManager" runat= ...

  3. asp:GridView控件的使用

    使用asp:GridView显示一个统计的表格 cs样式: <style>        table.gridview_m        {            border-colla ...

  4. asp Gridview绑定形式获取行号

    Gridview中使用<%# Container.DataItemIndex %>取得当前行的序号 而在Repeater控件中使用Container.ItemIndex取得当前行的序号 & ...

  5. asp:gridview 中显示日期格式

    boundfield中应该这样设置: <asp:BoundField HeaderText="发表时间" DataField="PostTime" Htm ...

  6. asp:GridView控件使用FindControl方法获取控件的问题

    一.使用带cells的指定列 e.Item.Cells[1].Controls[1]只指定第二列的第二个控件 二.不使用带cells的指定类e.Item.FindControl("ID&qu ...

  7. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  8. asp.net(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序 .

    Asp部分: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles ...

  9. Asp.net中导出Excel文档(Gridview)

    主要思路,通过GridView来导出文档. 新建一个Aspx页面,页面创建GridView控件,后台绑定好数据源.然后load中直接打印即可导出 前台的GridView <asp:GridVie ...

随机推荐

  1. 51nod--1265 四点共面 (计算几何基础, 点积, 叉积)

    题目: 1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4 ...

  2. shiro使用

    web.xml配置 <filter> <filter-name>shiroFilter</filter-name> <filter-class>org. ...

  3. 34)django-上传文件,图片预览功能实现

    目录 文件上传      1)form表单提交上传(会刷新)      2)ajax上传      3)iframe      4)图片上传预览(思路保存文件的时候,把文件保存文件的路径反馈回,客户端 ...

  4. Python 队列

    import multiprocessing import time if __name__ == '__main__': # 创建消息队列 # 3: 表示消息队列最大个数 queue = multi ...

  5. rsyslog的安装、使用、详解

    操作系统:CentOS release 6.7 download yum repo file:rsyslogall.repo [rsyslog-v8-stable] name=Adiscon Rsys ...

  6. 使用JUnit进行类的测试(一)

    首先是测试的一些常用标注: @Test:执行测试的方法 @Before & @After : 在 测试的方法 “前” 或者 “后” 被唤醒 -Initialization -Release r ...

  7. 【转】Python学习路线

    Python最佳学习路线图 python语言基础 (1)Python3入门,数据类型,字符串 (2)判断/循环语句,函数,命名空间,作用域 (3)类与对象,继承,多态 (4)tkinter界面编程 ( ...

  8. D3.js force力导向图用指定的字段确定link的source和target,默认是索引

    json.links.forEach(function (e) { var sourceNode = json.nodes.filter(function (n) { return n.name == ...

  9. vue和stylus在subline中显示高亮

    首先: 安装这两个插件   Vue Syntax Highlight    和    stylus 1.按住 ctrl + shift + p 2.输入:install Package 3.输入: V ...

  10. ActiveSync 学习记录

    协议就是一种规范.它是高效团队协作的依据.有的人可能不爱看团队规范之类的文档,一方面是个人意识问题,另外也和文档的组织.协作的效果相关. 写好文档: 看好文档. 1. 处理XML转码 抓包后,发现邮件 ...