zoukankan      html  css  js  c++  java
  • GridView 控件应用

    //前台布局

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                    ForeColor="#333333" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing"
                    OnRowUpdating="GridView1_RowUpdating" OnRowDataBound="GridView1_RowDataBound"
                    ShowHeaderWhenEmpty="True">
                    <AlternatingRowStyle BackColor="White" />
                    <Columns>
                        <asp:TemplateField HeaderText="操作" ShowHeader="False" >
                            <EditItemTemplate>
                                <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="True" CommandName="Update"
                                    ImageUrl="/Images/theme/icons/correct.png" Text="更新" ToolTip="更新" />
                                &nbsp;<asp:ImageButton ID="ImageButton2" runat="server" CausesValidation="False"
                                    CommandName="Cancel" ImageUrl="/Images/theme/icons/wrong.png" Text="取消" ToolTip="取消" />
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="False" CommandName="Edit"
                                    ImageUrl="/Images/theme/icons/edit.png" Text="编辑" ToolTip="编辑" />
                            </ItemTemplate>
                            <ItemStyle HorizontalAlign="Center" Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="id" Visible="False">
                            <ItemTemplate>
                                <asp:Label ID="labId" runat="server" Text='<%# Bind("pio_info_detail_id") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="序号">
                            <ItemTemplate>
                                <asp:Label ID="Label2" runat="server" Text='<%# Bind("pio_sn") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="30px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="前缀">
                            <ItemTemplate>
                                <asp:Label ID="Label3" runat="server" Text='<%# Bind("prefix") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="50px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="配件号">
                            <ItemTemplate>
                                <asp:Label ID="Label4" runat="server" Text='<%# Bind("parts_no") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="60px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="配件名称">
                            <ItemTemplate>
                                <asp:Label ID="Label5" runat="server" Text='<%# Bind("description_ch") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="库位号">
                            <EditItemTemplate>
                                 <asp:TextBox ID="txtMajorNumber" runat="server" Text='<%# Bind("Major_Number") %>'></asp:TextBox>
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:Label ID="labSeatName" runat="server" Text='<%# Bind("Major_Number") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="60px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="采购订单号">
                            <ItemTemplate>
                                <asp:Label ID="Label7" runat="server" Text='<%# Bind("po_no") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="供应商发货单号">
                            <ItemTemplate>
                                <asp:Label ID="labVipsNo" runat="server" Text='<%# Bind("vips_no") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="发货数量">
                            <ItemTemplate>
                                <asp:Label ID="labVipsQty" runat="server" Text='<%# Bind("vips_qty") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="入库数量">
                          <EditItemTemplate>
                                <asp:TextBox ID="txtAvlQty" runat="server" Text='<%# Bind("available_Stock_Qty") %>'></asp:TextBox>
                                <br />
                                <asp:RegularExpressionValidator ID="validateQtyNum" runat="server" ControlToValidate="txtAvlQty"
                                    ErrorMessage="请输入数字" ValidationExpression="^[0-9]+(.[0-9]{2})?$" ForeColor="Red"
                                    Display="Dynamic"></asp:RegularExpressionValidator>
                                <comparevalidator  ></comparevalidator>
                                <asp:RequiredFieldValidator ID="validateQtyNeed" runat="server" ControlToValidate="txtAvlQty"
                                    ErrorMessage="请输入入库数量" ForeColor="Red" Display="Dynamic"></asp:RequiredFieldValidator>
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:Label ID="labAvlQty" runat="server" Text='<%# Bind("available_Stock_Qty") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="已入库数量">
                           
                            <ItemTemplate>
                                <asp:Label ID="labInStockQty" runat="server" Text='<%# Bind("in_stock_qty") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="差异数量">
                            <ItemTemplate>
                                <asp:Label ID="labDcrQty" runat="server" Text='<%# Bind("dcr_qty") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="dcr_type" Visible="false">
                            <ItemTemplate>
                                <asp:Label ID="labDcrType" runat="server" Text='<%# Bind("dcr_type") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="差异类型">
                            <EditItemTemplate>
                                <cc1:SingleList ID="ddlDcrType" runat="server" Width="80px" IsShowEmptyItem="true"  ClientIDMode="Static">
                                </cc1:SingleList>
                            </EditItemTemplate>
                            <ItemTemplate>
                                <asp:Label ID="lab" runat="server" Text='<%# Bind("dcr_type_str") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="客户缺件数量">
                            <ItemTemplate>
                                <asp:Label ID="Label13" runat="server" Text='<%# Bind("lack_qty") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="销售订单号">
                            <ItemTemplate>
                                <asp:Label ID="Label14" runat="server" Text='<%# Bind("so_no") %>'></asp:Label>
                            </ItemTemplate>
                            <ItemStyle Width="100px" />
                        </asp:TemplateField>
                    </Columns>
                    <EditRowStyle BackColor="White" />
                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <HeaderStyle BackColor="#63829e" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                    <RowStyle BackColor="#EFF3FB" />
                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                    <SortedAscendingCellStyle BackColor="#F5F7FB" />
                    <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                    <SortedDescendingCellStyle BackColor="#E9EBEF" />
                    <SortedDescendingHeaderStyle BackColor="#4870BE" />
                </asp:GridView>

    //后台事件

     /// <summary>
            /// cancel edit
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
            {
                this.GridView1.EditIndex = -1;
                SearchData4GridView();
            }
            /// <summary>
            /// row edit
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
            {
                int index = e.NewEditIndex;
                this.GridView1.EditIndex = e.NewEditIndex;
                SearchData4GridView();

                TextBox txtAvlQty = (TextBox)this.GridView1.Rows[index].FindControl("txtAvlQty");
                Label labVipsQty = (Label)this.GridView1.Rows[index].FindControl("labVipsQty");
                Label labDcrQty = (Label)this.GridView1.Rows[index].FindControl("labDcrQty");
                //Label labAvlQty = (Label)this.GridView1.Rows[index].FindControl("labAvlQty");//可入库数量

                txtAvlQty.Attributes.Add("onpropertychange", "getDcrQty('" + labVipsQty.ClientID + "','" + txtAvlQty.ClientID + "','" + labDcrQty.ClientID + "')");

            }

            /// <summary>
            /// update
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                int index = e.RowIndex;
                string id = ((Label)GridView1.Rows[index].FindControl("labId")).Text.ToString();
                string in_stock_qty = ((Label)this.GridView1.Rows[index].FindControl("labInStockQty")).Text.ToString();//已入库数量
                string vips_qty = ((Label)this.GridView1.Rows[index].FindControl("labVipsQty")).Text.Trim().ToString();
                string avlQty = ((TextBox)this.GridView1.Rows[index].FindControl("txtAvlQty")).Text.Trim().ToString();//入库数量
                //DropDownList ddlSeat = (DropDownList)this.GridView1.Rows[index].FindControl("ddlSeat");
                string majorNumber = ((TextBox)this.GridView1.Rows[index].FindControl("txtMajorNumber")).Text.Trim().ToString();
                DropDownList ddlDcrType = ((DropDownList)this.GridView1.Rows[index].FindControl("ddlDcrType"));

                decimal dcrQty = GetDcrQty(vips_qty, avlQty); //发货-入库=差异数量
                if (dcrQty > 0 && string.IsNullOrEmpty(ddlDcrType.SelectedValue))
                {
                    Soyisoft.Web.WebUtil.ShowMessage(this.Page, "该配件存在差异,请选择差异类型!");
                    return;
                }
                else if (dcrQty < 0)
                {
                    Soyisoft.Web.WebUtil.ShowMessage(this.Page, "入库数量不能大于发货数量!");
                    return;
                }


                decimal inStockQtyDec = decimal.Parse(in_stock_qty);
                decimal vipsQtyDec = decimal.Parse(vips_qty);
                decimal avlQtyDec = decimal.Parse(avlQty);
                string strSelect = "pio_info_detail_id=@pio_info_detail_id";
                strSelect = SqlUtil.setString(strSelect, "@pio_info_detail_id", id);
                DataRow[] dr = dt4GridView.Select(strSelect);
                //dr[0]["Storage_Seat_ID"] = ddlSeat.SelectedValue;//库位
                dr[0]["major_number"] = majorNumber;
                dr[0]["in_stock_qty"] = in_stock_qty; //已入库数量
                dr[0]["dcr_qty"] = dcrQty;
                dr[0]["dcr_type_str"] = ddlDcrType.SelectedItem.Text;//差异类型
                dr[0]["dcr_type"] = ddlDcrType.SelectedValue;
                dr[0]["available_Stock_Qty"] = avlQty;

                this.GridView1.EditIndex = -1;
                SearchData4GridView();
            }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                Label dcrType = (Label)e.Row.FindControl("labDcrType");

                string strType = string.Empty;
                if (dcrType != null)
                {
                    strType = dcrType.Text;
                }

                SingleList ddlSeat = ((SingleList)e.Row.FindControl("ddlSeat"));
                if (ddlSeat != null)
                {
                    ddlSeat.ShowCodeList(PlmCommon.GetStorageSeat(WebCommon.Current.User.STATION_ID), string.Empty);
                }

                SingleList ddlDcrType = ((SingleList)e.Row.FindControl("ddlDcrType"));
                if (ddlDcrType != null)
                {
                    ddlDcrType.ShowCodeList(ListHelper.GetCodeByGroudID(PlmConst.PO_DCR_TYPE), strType);
                }
            }

  • 相关阅读:
    jq绑定事件
    NReco.PdfGenerator HtmlToPdfConverter 使用示例(未完成)
    msbuild 简单命令
    python 文件操作
    OpenXml demo
    js 常见代码
    C# 静态变量、静态函数、实体变量、实体函数在一个类中的执行顺序
    线程相关技术
    css 光标
    ECMAScript面向对象(二)——之创建对象方法总结
  • 原文地址:https://www.cnblogs.com/menglin/p/3455375.html
Copyright © 2011-2022 走看看