datagrid中数据的批量修改
这个批量修改的思路是这样的直接来图,点击设置上级的时候对选中的checkbox设置下拉列表框里面的上级部门
这是aspx页面代码
<asp:datagrid id="grdOrgGroup" runat="server" Width="100%" CssClass="table" BorderColor="#A0253E"
BorderStyle="Solid" AutoGenerateColumns="False" BorderWidth="1px">
<AlternatingItemStyle CssClass="tr1"></AlternatingItemStyle>
<ItemStyle CssClass="tr2"></ItemStyle>
<HeaderStyle CssClass="title"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
<div style="display:none;"><%# Eval("OrgID").ToString()%></div>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn Visible="False" DataField="OrgID" HeaderText="orgid"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgDisplay" HeaderText="部门显示名"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgName" HeaderText="部门名称"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgCode" HeaderText="部门编码"></asp:BoundColumn>
<asp:BoundColumn DataField="UserName" HeaderText="部门经理"></asp:BoundColumn>
<asp:BoundColumn DataField="ParentName" HeaderText="上级部门"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgStatus" HeaderText="部门状态"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgType" HeaderText="部门类别"></asp:BoundColumn>
</Columns>
</asp:datagrid>
BorderStyle="Solid" AutoGenerateColumns="False" BorderWidth="1px">
<AlternatingItemStyle CssClass="tr1"></AlternatingItemStyle>
<ItemStyle CssClass="tr2"></ItemStyle>
<HeaderStyle CssClass="title"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
<div style="display:none;"><%# Eval("OrgID").ToString()%></div>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn Visible="False" DataField="OrgID" HeaderText="orgid"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgDisplay" HeaderText="部门显示名"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgName" HeaderText="部门名称"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgCode" HeaderText="部门编码"></asp:BoundColumn>
<asp:BoundColumn DataField="UserName" HeaderText="部门经理"></asp:BoundColumn>
<asp:BoundColumn DataField="ParentName" HeaderText="上级部门"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgStatus" HeaderText="部门状态"></asp:BoundColumn>
<asp:BoundColumn DataField="OrgType" HeaderText="部门类别"></asp:BoundColumn>
</Columns>
</asp:datagrid>
后台是通过一个隐藏的Btn的事件来实现数据的批量修改的
protected void btnAddParent_Click(object sender, EventArgs e)
{
COrgSync org = new COrgSync();
Guid ParentID = new Guid();
int index = this.ddlOrgSyncChecked.SelectedIndex;
if (index == 0)
{
Page.RegisterStartupScript("msg", "<script>alert('请选择分配的上级部门');</script>");
}
else
{
ParentID = new Guid(this.ddlOrgSyncChecked.SelectedValue);
foreach (DataGridItem dgi in this.grdOrgGroup.Items)
{
CheckBox cb = (CheckBox)dgi.FindControl("CheckBox1"); //通过控件来获得选中的checkbox
if (cb.Checked) //判断是否选中
{
Guid OrgID = new Guid(dgi.Cells[1].Text.ToString()); //通过选中的OrgID来批量修改
org.OrgUpdateParentByOrgID(OrgID, ParentID);
}
}
OrgDateBind();
}
}
{
COrgSync org = new COrgSync();
Guid ParentID = new Guid();
int index = this.ddlOrgSyncChecked.SelectedIndex;
if (index == 0)
{
Page.RegisterStartupScript("msg", "<script>alert('请选择分配的上级部门');</script>");
}
else
{
ParentID = new Guid(this.ddlOrgSyncChecked.SelectedValue);
foreach (DataGridItem dgi in this.grdOrgGroup.Items)
{
CheckBox cb = (CheckBox)dgi.FindControl("CheckBox1"); //通过控件来获得选中的checkbox
if (cb.Checked) //判断是否选中
{
Guid OrgID = new Guid(dgi.Cells[1].Text.ToString()); //通过选中的OrgID来批量修改
org.OrgUpdateParentByOrgID(OrgID, ParentID);
}
}
OrgDateBind();
}
}
浙公网安备 33010602011771号