asp gridview

<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);
}

 

posted @ 2017-02-07 16:19  恋之呓  阅读(349)  评论(0编辑  收藏  举报