<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. 前端 -----函数和伪数组(arguments)

    函数   函数:就是将一些语句进行封装,然后通过调用的形式,执行这些语句. 函数的作用: 将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动. 简化编程,让编程模块化. ...

  2. Go 常见严格格式汇总(struct,func...)不定期更新!

    1 引言 Golang对格式有着较为严格的规定,例如方法大括号一定要放在方法名后,否则编译不过:变量(常量除外)未使用,也编译不过等等 2 例子 2.1 struct type person stru ...

  3. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  4. Confluence 6 查看站点状态

    请注意,有关站点的活动信息在默认情况下是禁用的.请查看下面的说明. 如果这个插件被启用的话,有关站点的全局活动状态将会在你的 Confluence 站点中显示出来.显示的数据包括: 在给定的时间内有多 ...

  5. Confluence 6 Oracle 连接问题解决

    如果 Confluence 提示没有 class 文件,你可能将你的 JDBC 驱动放置到了错误的文件夹. 下面的页面包含了一些你在使用 Oracle 数据库连接的时候可能会遇到的常见问题,请参考: ...

  6. 将CSDN内容移过来

    将CSND主要博客内容移过来 1.Linux rpm.yum.ssh.apache.Samba等讲解 https://blog.csdn.net/weixin_38834998/article/det ...

  7. Java 并发类

    java.util.concurrent包里 提供了一批线程安全的类 一. java.util.concurrent.atomic java.util.concurrent.atomic包里的原子处理 ...

  8. PDF如何添加水印,PDF添加水印工具的使用方法

    PDF文件在编辑修改的时候是需要借助工具才可以编辑,PDF文件不像普通的文件可以直接打开编辑,PDF编辑工具是PDF文件进行编辑的重要工具,就以添加水印为例,能够在PDF中添加水印的工具有哪些呢?要怎 ...

  9. cf842C 树形dp+gcd函数

    树形dp用一下就好了 /* dp[i]表示不删节点的gcd值 每个结点开个vector用来存储删一个点之后的最大值 然后排序 去重 */ #include<bits/stdc++.h> # ...

  10. bzoj 2761

    神题... 其实这题巨水,用各种诡异的方法都能A,包括STL等等 我之所以写题解,是因为我发现了一个bug:bz和luogu时限有问题! 这题我用了两种做法: ①:直接使用STL-map(不能直接用数 ...