datagrid當前頁編輯

所需效果圖:

點擊新增:

 

點擊上傳文件:

點擊編輯:

點擊刪除:

前臺:

                        <asp:DataGrid ID="DataGrid1" runat="server" Width="100%" PageSize="4" CssClass="datagrid1" AutoGenerateColumns="False"  AllowPaging="True" DataKeyField="Id" CellPadding="3" CellSpacing="1"  GridLines="None" OnItemCommand="DataGrid1_ItemCommand" 
                            OnPageIndexChanged="DataGrid1_PageIndexChanged" OnItemDataBound="DataGrid1_ItemDataBound"
>
                            <PagerStyle CssClass="dg_page" HorizontalAlign="Center" Mode="NumericPages"></PagerStyle>
                            <HeaderStyle CssClass="Header_co" HorizontalAlign="Center"></HeaderStyle>
                            <ItemStyle HorizontalAlign="Center" />
                            <Columns>
                                <asp:TemplateColumn HeaderText="序號">
                                     <ItemStyle Width="25%" Wrap="false"/>
                                    <ItemTemplate>
                                        <asp:Label ID="Label6" runat="server" Text="<%# Container.ItemIndex+1 %>"></asp:Label>   <%--自定義序號 , DataKeyField="Id" 可綁定id-->
                                    </ItemTemplate>                                    
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="四色圖底圖名稱">
                                     <ItemStyle Width="25%" Wrap="false"/>
                                    <ItemTemplate>
                                        <asp:Label ID="Label1" runat="server" Text='<%#Eval("四色圖底圖名稱") %>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="EditName" runat="server" Text='<%#Eval("四色圖底圖名稱") %>'></asp:TextBox>
                                        <asp:Label ID="Label3" runat="server" Text='<%#Eval("四色圖底圖名稱") %>' Visible="false"></asp:Label>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="InsertName" runat="server" Text=""></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="四色圖底圖路徑">
                                     <ItemStyle Width="25%" Wrap="false"/>
                                    <ItemTemplate>
                                        <asp:HyperLink ID="HyperLink4" runat="server" Text="查看附件" Target="_blank"></asp:HyperLink>
                                        <asp:Label ID="Label2" runat="server" Text='<%#Eval("四色圖底圖路徑") %>' Visible="false"></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <a class="btn_addPic" href="javascript:void(0);"><span><em></em>上傳文件</span>
                                            <input class="icon_pencil" id="file4" title="支持.doc,.docx,.xls,.xlsx,.zip,.rar,.png,.jpeg,.gif,.jpg,.txt格式,文件小於5M" οnchange="show4()" tabindex="3" type="file" size="3 " name="pic" runat="server" /></a>
                                        <input type="text" id="Txt4"  class="icon_slice"/>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <a class="btn_addPic" href="javascript:void(0);"><span><em></em>上傳文件</span>
                                            <input class="icon_pencil" id="Insertfile4" title="支持.doc,.docx,.xls,.xlsx,.zip,.rar,.png,.jpeg,.gif,.jpg,.txt格式,文件小於5M" οnchange="show4()" tabindex="3" type="file" size="3 " name="pic" runat="server" /></a>
                                         <input type="text" id="Txt5"  class="icon_slice"/>
                                    </FooterTemplate>

                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="操作">
                                    <ItemStyle Width="25%" Wrap="false"/>
                                    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit" CssClass="btn-bj">編輯</asp:LinkButton>
                                        <asp:LinkButton ID="LinkButton2" runat="server" CommandName="delete" CssClass="btn-sc" OnClientClick="javascript:return confirm('是否確認刪除?');">刪除</asp:LinkButton>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="update" OnClientClick="javascript:return confirm('是否確認更新?');">更新</asp:LinkButton>
                                        <asp:LinkButton ID="LinkButton2" runat="server" CommandName="cancel">取消</asp:LinkButton>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="insert" OnClientClick="javascript:return confirm('是否確認新增?');">新增</asp:LinkButton>
                                        <asp:LinkButton ID="LinkButton2" runat="server" CommandName="cancel">取消</asp:LinkButton>
                                    </FooterTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                        </asp:DataGrid>
                        <div class="data_t">
                            <asp:Button ID="btnAdd" runat="server" Text="新增" CssClass="so" OnClick="btnAdd_Click" />
                        </div>

後臺:

        protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            string filesx = ".png,.jpeg,.jpg";
            int docSize = 20;
            TextBox EditName = e.Item.FindControl("EditName") as TextBox;
            HtmlInputFile file4 =e.Item.FindControl("file4") as HtmlInputFile;
            string sql = "";
            if (e.CommandName == "update")
            {
                HtmlInputText Txt4 = e.Item.FindControl("Txt4") as HtmlInputText;
                string fujian_path4 = string.Empty;
                string fujian_name4 = string.Empty;
                string name4 = string.Empty;
                HyperLink HyperLink4 = e.Item.FindControl("HyperLink4") as HyperLink;
                if (file4.PostedFile.ContentLength > 0)
                {
                    name4 = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file4.PostedFile.FileName);
                    if (filesx.IndexOf(Path.GetExtension(file4.PostedFile.FileName)) < 0)
                    {
                        UtilityFunctions.Success(this, "請選擇以下圖片類型:.png,.jpeg,.jpg");
                        return;
                    }
                    if (file4.PostedFile.ContentLength > docSize * 1024 * 1024)
                    {
                        UtilityFunctions.Success(this, "上傳文件必須小於20M!");
                        return;
                    }
                    string fileDir = Server.MapPath("~/location/companyPic4/");
                    if (!Directory.Exists(fileDir))
                    {
                        Directory.CreateDirectory(fileDir);
                    }
                    fujian_name4 = name4;
                    fujian_path4 = Server.MapPath("~/location/companyPic4/") + fujian_name4;
                    file4.PostedFile.SaveAs(fujian_path4);
                    fujian_path4 = "location/companyPic4/" + fujian_name4;
                }
                sql = "update 風險分區四色圖底圖 set 四色圖底圖名稱='" + EditName.Text.Trim() + "'";
                if (file4.PostedFile.FileName != null && file4.PostedFile.FileName!="")
                {
                    sql += ",四色圖底圖路徑='" + fujian_path4.ToString() + "'";
                }
                sql += " where id='" + DataGrid1.DataKeys[e.Item.ItemIndex] + "'";
                CommonApp.ExecuteNonQuery(sql);
                UtilityFunctions.Success(this, "更新成功!");
                DataGrid1.EditItemIndex = -1;
                DataGrid1.ShowFooter = false;
                btnAdd.Visible = true;
            }
            else if (e.CommandName == "insert")
            {
                TextBox Insertid = e.Item.FindControl("Insertid") as TextBox;
                TextBox InsertName = e.Item.FindControl("InsertName") as TextBox;
                HtmlInputFile Insertfile4 = (HtmlInputFile)e.Item.FindControl("Insertfile4") as HtmlInputFile;

                string fujian_path4 = string.Empty;
                string fujian_name4 = string.Empty;
                string name4 = string.Empty;
                HyperLink HyperLink4 = e.Item.FindControl("HyperLink4") as HyperLink;
                if (Insertfile4.PostedFile.ContentLength <= 0 && Insertfile4.PostedFile.FileName.Length == 0)
                {
                    UtilityFunctions.Success(this, "請上傳附件!");
                    return;
                }
                else
                {
                    name4 = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(Insertfile4.PostedFile.FileName);
                    if (filesx.IndexOf(Path.GetExtension(Insertfile4.PostedFile.FileName)) < 0)
                    {
                        UtilityFunctions.Success(this, "請選擇以下圖片類型:.png,.jpeg,.jpg");
                        return;
                    }
                    if (Insertfile4.PostedFile.ContentLength > docSize * 1024 * 1024)
                    {
                        UtilityFunctions.Success(this, "上傳文件必須小於20M!");
                        return;
                    }
                    string fileDir = Server.MapPath("~/location/companyPic4/");
                    if (!Directory.Exists(fileDir))
                    {
                        Directory.CreateDirectory(fileDir);
                    }
                    fujian_name4 = name4;
                    fujian_path4 = Server.MapPath("~/location/companyPic4/") + fujian_name4;
                    Insertfile4.PostedFile.SaveAs(fujian_path4);
                    fujian_path4 = "location/companyPic4/" + fujian_name4;
                    // Txt4.Text= fujian_path4.ToString();
                }
                string id = CommonApp.Pkey("風險分區四色圖底圖", "id");
                sql = "insert into 風險分區四色圖底圖(id,companyid,四色圖底圖名稱,四色圖底圖路徑) values('" + id.ToString() + "','" + Session["companyid"].ToString() + "','" + InsertName.Text.Trim() + "','" + fujian_path4.ToString().Trim() + "')";
                int num = CommonApp.ExecuteNonQuery(sql);
                if (num > 0)
                {
                    UtilityFunctions.Success(this, "新增成功!");
                    DataGrid1.ShowFooter = false;
                }
                else
                {
                    UtilityFunctions.Success(this, "新增失敗!");
                }
                btnAdd.Visible = true;
            }
            else if (e.CommandName == "edit")
            {
                DataGrid1.EditItemIndex = e.Item.ItemIndex;
                DataGrid1.ShowFooter = false;
                btnAdd.Visible = false;
            }
            else if (e.CommandName == "cancel")
            {
                DataGrid1.EditItemIndex = -1;
                DataGrid1.ShowFooter = false;
                btnAdd.Visible = true;
            }
            else if (e.CommandName == "delete")
            {
                Label Label6 = e.Item.FindControl("Label6") as Label;
                sql = "delete from 風險分區四色圖底圖 where id='" + Label6.Text.Trim() + "'";
                CommonApp.ExecuteNonQuery(sql);
                UtilityFunctions.Success(this, "刪除成功!");
            }
            bindData();
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            DataGrid1.ShowFooter = true;
            btnAdd.Visible = false;
        }

        protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label Label2 = e.Item.FindControl("Label2") as Label;
                HyperLink HyperLink4 = e.Item.FindControl("HyperLink4") as HyperLink;
                if (Label2.Text.Trim() != "")
                {
                    HyperLink4.NavigateUrl = "~/" + Label2.Text.Trim();
                }
            }
        }

        protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e) //綁定頁
        {
            DataGrid1.CurrentPageIndex = e.NewPageIndex;
            bindData();
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章