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

转载于:https://www.cnblogs.com/menglin/p/3455375.html

在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值