簡體   English   中英

如何在 gridview 中執行刪除和編輯,該 gridview 是從代碼隱藏動態添加且位於手風琴控件內

[英]How to perform delete and edit in a gridview which is dynamically added from the codebehind and which is inside a accordion control

我正在做某事,我需要一些幫助。 我有一個手風琴控件,里面有一個 gridview 控件。 而且我能夠將數據庫中的值綁定到每個 gridview。 我接下來要做的是執行編輯和刪除操作。 我嘗試了很多解決方法,但一切都是徒勞的。 特此附上aspx和代碼供大家參考。 任何幫助將不勝感激。

頁面

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CategoriesTransaction.ascx.cs"
    Inherits="Tools.UserControls.CategoriesTransaction" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<ajaxToolkit:Accordion ID="accCategoryDetails" runat="server" Width="100%" SuppressHeaderPostbacks="true"
    OnItemDataBound="accCategoryDetails_ItemDataBound" HeaderCssClass="headerAccordion"
    SelectedIndex="0" ContentCssClass="contentAccordion" OnInit="accCategoryDetails_Init">
    <Panes>
        <ajaxToolkit:AccordionPane ID="AccordionPane" runat="server">
            <Header>
            </Header>
            <Content>
            </Content>
        </ajaxToolkit:AccordionPane>
    </Panes>
</ajaxToolkit:Accordion>

代碼背后

    private void bindGrid()
            {
                DataTable category = new DataTable();
                category = MySqlDAL.getCategoriesReconciled();

                if (category.Rows.Count != 0)
                {
                    AjaxControlToolkit.Accordion accordion = FindControl("accCategoryDetails") as AjaxControlToolkit.Accordion;
                    AjaxControlToolkit.AccordionPane pane = FindControl("AccordionPane") as AjaxControlToolkit.AccordionPane;
                    int i = 0;


                    foreach (DataRow dr in category.Rows)
                    {
                        string categoryName = dr["category"].ToString();
                        if (accordion == null)
                        { return; }


                        {
                            GridView grid = new GridView();

                            if (grid == null)
                            {
                                return;
                            }
                            else
                            {
                                DataTable transactions = new DataTable();
                                transactions = MySqlDAL.getTransactionBasedCategories(categoryName);

                                grid.DataSource = transactions;
                                grid.AutoGenerateColumns = false;
//Formatting Grid
                                FormatColumns(transactions, grid);
                                grid.AutoGenerateDeleteButton = true;

                                grid.CssClass = "Grid";
                                grid.DataBind();

                            }

                            pane = new AjaxControlToolkit.AccordionPane();
                            pane.ID = "AccordionPane" + i;
                            pane.HeaderContainer.Controls.Add(categorylbl);
                            pane.HeaderContainer.Controls.Add(budgetAmountlbl);
                            pane.HeaderContainer.Controls.Add(overUnderlbl);
                            pane.HeaderContainer.Controls.Add(tranontAvglbl);
                            pane.ContentContainer.Controls.Add(grid);
                            accCategoryDetails.Panes.Add(pane);
                            ++i;

                        }
                    }
                }
            }

我需要做的是對手風琴內的每個 gridview 執行編輯和刪除。 提前致謝

我不確定這一點,但看來您使用的數據表不是 gridview。 嘗試添加 Gridview 並將數據表綁定到它。

或者只是添加一個 Gridview。

要編輯數據表,盡管試試這個......讓我們說你的數據表是這樣的

數據表 dt = 新數據表(); dt.Rows[0]["ColumnName"] = "myrow";

這里 [0] 是行索引, [" ColumnName"] 是列名,之后您將想要的數據分配給數據表。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM