C#代碼總結04---通過創建臨時表DataTable進行臨時編輯刪除


<script type="text/javascript"> 
        //刪除
 function Delete(hdGuid) { $("#hdGuid").val(hdGuid); $("#btnDel").click(); } </script>

<body>
    <input id="hdGuid" type="hidden" runat="server" value="" /> <asp:ImageButton ImageUrl="" ID="btnDel" runat="server" OnClientClick="return confirm('確認刪除該入庫申請?');" OnClick="btnDel_Click" CssClass="hidden" /> 。。。。。。 <cc:PagingGridView ID="GridViewData" Width="100%" runat="server" AutoGenerateColumns="False" PageSize="20" OnBindDataSource="GridViewData_BindDataSource">
            <EmptyDataTemplate> 無相關數據 </EmptyDataTemplate>
            <Columns>
            <asp:TemplateField HeaderText="操作">
                    <HeaderStyle Width="5%" />
                    <ItemStyle Width="5%" />
                    <ItemTemplate> <a href="#" onclick="Delete('<%# Container.DataItemIndex%>')" class="aCss addreturn"> <img src="../images/DGBtn/sc.gif" alt="刪除" /> </a> </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <RowStyle CssClass="td1" />
            <HeaderStyle CssClass="td_bthead" />
            <PagerStyle CssClass="td0" />
            <AlternatingRowStyle CssClass="td2" />
        </cc:PagingGridView>
    </div>
    </form>
</body>

    

以上為前台代碼👆

 

后台代碼:

/// <summary>
    /// 保存臨時表datatable
    /// </summary>
    protected DataTable dt0 { get { return (DataTable)ViewState["dt0"]; } set { ViewState["dt0"] = value; } }

  protected void btnDel_Click(object sender, ImageClickEventArgs e)
    {

        int cfs = Convert.ToInt32(cftsTB.Text);
        if (cfs > 1)
        {
            dt0.Rows.RemoveAt(Convert.ToInt32(hdGuid.Value)); PageDataList.BindGridView(GridViewData, dt0);
            cftsTB.Text = string.Format("{0}", cfs - 1);
        }
        else
        {
            PageHelper.MessageBox(this, "拆分數目需要大於1!");
        }
    }

問題在於,①創建一個全局的臨時表變量 dt0 ,用於調用和修改;②使用datatable的屬性方法來進行操作、如

PageDataList.BindGridView(GridViewData, dt0);
dt0.Rows.RemoveAt(Convert.ToInt32(hdGuid.Value));
刪除是根據 頁面序號(hdGuid.Value)來進行操作的

附上通常創建臨時表的代碼:
public void creatCfdt(decimal cfNum)
    {
        string result = null;
        ZcKcbEntity kcb = new ZcKcbAction().GetInfo(guid);
        DataTable data = new DataTable();

        data.Columns.Add(new DataColumn("guid", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("zcmc", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("czcode", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("dj", System.Type.GetType("System.Decimal")));
        data.Columns.Add(new DataColumn("je", System.Type.GetType("System.Decimal")));
        data.Columns.Add(new DataColumn("syr", Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("sybm", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("syfx", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("cfdd", System.Type.GetType("System.String")));
        data.Columns.Add(new DataColumn("djsj", System.Type.GetType("System.DateTime")));
        data.Columns.Add(new DataColumn("sl", Type.GetType("System.Decimal")));
       
        DataRow row2 = data.NewRow();
        row2["guid"] = kcb.guid;
        row2["zcmc"] = kcb.zcmc;
        row2["czcode"] = kcb.czcode;
        row2["dj"] = kcb.dj;
        row2["je"] = kcb.je;
        row2["syr"] = kcb.syr;
        row2["sybm"] = kcb.sybm;
        row2["syfx"] = kcb.syfx;
        row2["cfdd"] = kcb.cfdd;
        row2["djsj"] = kcb.djsj;
        row2["sl"] = kcb.sl - cfNum + 1;
        data.Rows.Add(row2);

        dt0 = data;
        if (data != null)
        {
            //綁定數據
            if (!PageDataList.BindGridView(GridViewData, data))
            {
                result = "綁定列表失敗!";
            }
        }
        else
        {
            result = "獲取數據失敗!";
        }

        //返回結果
        PageHelper.MessageBox2(this, result);
    }
 
        

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM