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