批量处理GridView中的数据

页面代码

                    <asp:GridView ID="gvw_Task" runat="server" AutoGenerateColumns="False" Width="772px">
                        <Columns>
                            <asp:TemplateField HeaderText="任务类型">
                                <ItemTemplate><%# TurnTaskType(Eval("TaskType").ToString())%></ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateField>
                            <asp:BoundField HeaderText="姓名" DataField="PatientName" />
                            <asp:BoundField HeaderText="办事处" DataField="Office" />
                            <asp:TemplateField HeaderText="处理日期">
                                <ItemTemplate><%# TurnDataTime(Eval("ProcessDate").ToString())%></ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="处理状态">
                                <ItemTemplate><%# TurnProcessState(Eval("ProcessState").ToString())%></ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="负责人">
                                <ItemTemplate>
                                    <asp:HiddenField ID="hfd_TaskIDs" Value='<%#Eval("TaskID").ToString()%>' runat="server" />
                                    <asp:DropDownList ID="ddl_User" runat="server" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="Name">
                                    </asp:DropDownList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=192.168.1.160;Initial Catalog=PPMS;Persist Security Info=True;User ID=chanceinfo;Password=123"
                                    ProviderName="System.Data.SqlClient" SelectCommand="SELECT [Name] FROM [TB_USERS] WHERE ([IsActive] = @IsActive)">
                                    <SelectParameters>
                                    <asp:Parameter DefaultValue="1" Name="IsActive" Type="Int32" />
                                    </SelectParameters>
                                    </asp:SqlDataSource>
                                </ItemTemplate>

                            </asp:TemplateField>
                            <asp:BoundField HeaderText="内容" DataField="Content" />
                            <asp:TemplateField HeaderText="任务属性">
                                <ItemTemplate><%# TurnCallType(Eval("TaskState").ToString())%></ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="取消">
                                <ItemTemplate>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <FooterStyle CssClass="GridViewFooterStyle" />
                        <RowStyle CssClass="GridViewRowStyle" />  
                        <PagerStyle CssClass="GridViewPagerStyle" />
                        <HeaderStyle CssClass="GridViewHeaderStyle" />
                    </asp:GridView>

 

代码处理部分

        protected void btn_Save_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow item in gvw_Task.Rows)
            {
                HiddenField TaskID = (HiddenField)item.FindControl("hfd_TaskIDs");  //声明隐藏域变量用来接受gvw中对应的隐藏域变量,接受时候使用类型转换语句
                DropDownList User = (DropDownList)item.FindControl("ddl_User");  //原理同上

                string LoginName = User.SelectedValue.ToString();
                string Task = TaskID.Value.ToString();
                string sql = "select Operator from TB_TASK where TaskID='" + PublicClass.SqlFix(Task) + "'";
                DbCommand dbCommand = db.GetSqlStringCommand(sql);
                DataSet ds = db.ExecuteDataSet(dbCommand);
                DataTable dt = ds.Tables[0];
                //判断是否修改
                if (LoginName + "" != dt.Rows[0]["Operator"].ToString())
                {
                    sql = "update TB_TASK set Operator='" + PublicClass.SqlFix(LoginName) + "' where TaskID='" + PublicClass.SqlFix(Task) + "'";
                    da.UpdateProvince(sql);
                }
            }
            Response.Write(CsPublicClass.getErrorPageCode("修改成功"));
        }

posted @ 2009-06-15 17:49  适渊  阅读(269)  评论(0编辑  收藏  举报