在DataGrid中經(jīng)彈出窗口確認(rèn)后執(zhí)行操作(刪除)。(附在DataGrid中修改,添加記錄)詳見代
2024-07-21 02:16:51
供稿:網(wǎng)友
 
前臺(tái)代碼:
<asp:label id="message" runat="server"></asp:label><br>
            <asp:datagrid id="bigclasslist" width="100%" cellpadding="3" runat="server" datakeyfield="bigclassid" onupdatecommand="mydatagrid_update" oncancelcommand="mydatagrid_cancel" oneditcommand="mydatagrid_edit" ondeletecommand="mydatagrid_del" onsortcommand="mydatagrid_sort" onitemcreated="mydatagrid_itemcreated" autogeneratecolumns="false" allowsorting="true">
                <headerstyle font-bold="true" backcolor="gainsboro"></headerstyle>
                <columns>
                    <asp:boundcolumn datafield="bigclassid" readonly="true" headertext="大類編號(hào)" sortexpression="bigclassid"></asp:boundcolumn>
                    <asp:boundcolumn datafield="bigclassname" headertext="大類名稱" sortexpression="bigclassname"></asp:boundcolumn>
                    <asp:boundcolumn datafield="bigclasssortid" headertext="排序編號(hào)" sortexpression="bigclasssortid"></asp:boundcolumn>
                    <asp:editcommandcolumn buttontype="linkbutton" updatetext="更新" canceltext="返回" edittext="編輯"></asp:editcommandcolumn>
                    <asp:templatecolumn>
                        <itemtemplate>
                            <asp:linkbutton id="cmddel" runat="server" text="刪除" commandname="delete"></asp:linkbutton>
                        </itemtemplate>
                    </asp:templatecolumn>
                </columns>
            </asp:datagrid>
            <table height="23" cellspacing="0" cellpadding="3" width="100%" boder="0">
                <tr>
                    <td bgcolor="#efefef">添加新大類</td>
                </tr>
                <tr>
                    <td>類別名稱:
                        <asp:textbox id="bclassname" runat="server"></asp:textbox>
                        <asp:label id="addmessage" runat="server"></asp:label></td>
                </tr>
                <tr>
                    <td>排序編號(hào):
                        <asp:textbox id="bclassid" runat="server"></asp:textbox></td>
                </tr>
                <tr>
                    <td>
                        <asp:button id="btnaddbclass" runat="server" text="添加大類(a)"></asp:button></td>
                </tr>
            </table>
后臺(tái)代碼:
private void page_load(object sender, system.eventargs e)
        {
            // 在此處放置用戶代碼以初始化頁(yè)面
            myconn=new odbcconnection(connstr);
            if (!ispostback)
                bindgrid("bigclassid");
        }
        public void bindgrid(string sortfield)
        {
            //    綁定數(shù)據(jù)
        //    odbcdataadapter mydataadapter= new odbcdataadapter("select * from bigclass order by bigclassid desc", myconn);
        //    dataset ds = new dataset();
        //    mydataadapter.fill(ds, "bigclass");
        //    bigclasslist.datasource=ds.tables["bigclass"].defaultview;
        //    bigclasslist.databind();
            odbcdataadapter mydataadapter = new odbcdataadapter("select * from bigclass", myconn);
            dataset ds = new dataset();
            mydataadapter.fill(ds, "bigclass");
            dataview source = ds.tables["bigclass"].defaultview;
            source.sort = sortfield;
            bigclasslist.datasource=source;
            bigclasslist.databind();
        }
        public void mydatagrid_edit(object sender, datagridcommandeventargs e)
        {
            //    將當(dāng)前行置為編輯狀態(tài)
            bigclasslist.edititemindex = (int)e.item.itemindex;
            bindgrid("bigclassid");
        }
        public void mydatagrid_cancel(object sender, datagridcommandeventargs e)
        {
            //    將當(dāng)前行置為非編輯狀態(tài)
            bigclasslist.edititemindex = -1;
            bindgrid("bigclassid");
        }
        public void mydatagrid_update(object sender, datagridcommandeventargs e)
        {
            //    更新當(dāng)前行
            string bigclassid=e.item.cells[0].text;
            string bigclassname=regex.replace(((textbox)e.item.cells[1].controls[0]).text,"'","''");
            string bigclasssortid=((textbox)e.item.cells[2].controls[0]).text;
        
            string updatecmd = "update bigclass set bigclassname ='" +  bigclassname + "',"
                + "bigclasssortid=" +  bigclasssortid
                + " where bigclassid =" + bigclassid;
            mycomm = new odbccommand(updatecmd, myconn);
            mycomm.connection.open();
            try
            {
                mycomm.executenonquery();
            //    response.write("<font color=red><b>已更新記錄</b><font><br>");
                message.text = "<font color=red><b>已更新記錄</b><font><br>"; 
                bigclasslist.edititemindex = -1;
            }
            catch (odbcexception exc)
            {
                message.text="<font color=red><b>錯(cuò)誤:" + exc.message.tostring() + "</b></font>";
            }
            mycomm.connection.close();
            bindgrid("bigclassid");            
        }
        public void mydatagrid_itemcreated(object sender, datagriditemeventargs e)
        {
            //    刪除大類
            linkbutton l=new linkbutton();
            switch(e.item.itemtype)
            {
                case(listitemtype.item):
                    
                    l=(system.web.ui.webcontrols.linkbutton)e.item.findcontrol("cmddel");
                    l.attributes.add("onclick","return confirm('確定要?jiǎng)h除該大類嗎?');");
                    break;
                
                case(listitemtype.alternatingitem):
                    l=(system.web.ui.webcontrols.linkbutton)e.item.findcontrol("cmddel");
                    l.attributes.add("onclick","return confirm('確定要?jiǎng)h除該大類嗎?');");
                    break;
            }
        }
        
        protected void mydatagrid_del(object sender, datagridcommandeventargs e) 
        {
            myconn=new odbcconnection(connstr);
            myconn.open();
            string bigclassid=e.item.cells[0].text;;
            string deletecmd = "delete from bigclass where bigclassid =" + bigclassid;
            mycomm=new odbccommand(deletecmd,myconn);
            mycomm.executenonquery();
            bindgrid("bigclassid");    
        }
        protected void mydatagrid_sort(object sender, datagridsortcommandeventargs e) 
        {
            bindgrid(e.sortexpression);
        }
        private void btnaddbclass_click(object sender, system.eventargs e)
        {
            string bclassname=regex.replace(bclassname.text,"'","''");
            string bclassid=bclassid.text;
            if(bclassname!="" & bclassid!="")
            {
            
                myconn=new odbcconnection(connstr);
                myconn.open();
            
                string insertinto="insert into bigclass (bigclassname,bigclasssortid) values (" 
                    + "'" + bclassname + "',"
                    + bclassid + ")";
            //    response.write(insertinto);
                
                mycomm=new odbccommand(insertinto,myconn);
                mycomm.executenonquery();
                bclassname.text="";
                bclassid.text="";
                addmessage.text="<font color=red><b>已經(jīng)添加新的文章大類!</b></font>";
                bindgrid("bigclassid");    
                
            }
            else
            {
                addmessage.text="<font color=red><b>請(qǐng)?zhí)顚懲暾?lt;/b></font>";
            }
            
        }