
 using system;
using system; using system.data;
using system.data; using system.web.ui;
using system.web.ui; using system.web.ui.webcontrols;
using system.web.ui.webcontrols;
 namespace csdn
namespace csdn

 {
{ public class mycolumn:datagridcolumn
    public class mycolumn:datagridcolumn
 
     {
{ public string datatextfield;
        public string datatextfield; public string datavaluefield;
        public string datavaluefield; public datatable datasource;
        public datatable datasource; 
                         public override void initializecell(tablecell cell,int columnindex,listitemtype itemtype)
        public override void initializecell(tablecell cell,int columnindex,listitemtype itemtype)
 
         {
{ base.initializecell(cell,columnindex,itemtype);
            base.initializecell(cell,columnindex,itemtype); switch(itemtype)
            switch(itemtype)
 
             {
{ case listitemtype.header:
                case listitemtype.header: cell.text=this.headertext;
                    cell.text=this.headertext; break;
                    break; case listitemtype.item:case listitemtype.alternatingitem:
                case listitemtype.item:case listitemtype.alternatingitem: cell.databinding+=new eventhandler(this.cell_itemdatabinding);
                    cell.databinding+=new eventhandler(this.cell_itemdatabinding); break;
                    break; case listitemtype.edititem:
                case listitemtype.edititem: cell.databinding +=new eventhandler(cell_edititemdatabinding);
                    cell.databinding +=new eventhandler(cell_edititemdatabinding); dropdownlist ddl=new dropdownlist();
                    dropdownlist ddl=new dropdownlist(); cell.controls.add(ddl);
                    cell.controls.add(ddl); textbox t=new textbox();
                    textbox t=new textbox(); t.width=80;
                    t.width=80; cell.controls.add(t);
                    cell.controls.add(t); button b=new button();
                    button b=new button(); b.text="查找";
                    b.text="查找"; b.click+=new eventhandler(this.btn_click);
                    b.click+=new eventhandler(this.btn_click); cell.controls.add(b);
                    cell.controls.add(b); break;
                    break; }
            } }
        }
 private void cell_itemdatabinding(object sender, eventargs e)
        private void cell_itemdatabinding(object sender, eventargs e)
 
         {
{ tablecell cell=(tablecell)sender;
            tablecell cell=(tablecell)sender; datagriditem dgi=(datagriditem)cell.namingcontainer;
            datagriditem dgi=(datagriditem)cell.namingcontainer; cell.text=(databinder.eval(dgi.dataitem,this.datatextfield)).tostring();
            cell.text=(databinder.eval(dgi.dataitem,this.datatextfield)).tostring(); }
        }
 private void cell_edititemdatabinding(object sender,eventargs e)
        private void cell_edititemdatabinding(object sender,eventargs e)
 
         {
{ tablecell cell=(tablecell)sender;
            tablecell cell=(tablecell)sender; dropdownlist ddl=(dropdownlist)cell.controls[0];
            dropdownlist ddl=(dropdownlist)cell.controls[0]; datagriditem dgi=(datagriditem)cell.namingcontainer;
            datagriditem dgi=(datagriditem)cell.namingcontainer; for(int i=0;i<this.datasource.rows.count;i++)
            for(int i=0;i<this.datasource.rows.count;i++) ddl.items.add(new listitem(this.datasource.rows[i][this.datatextfield].tostring(),this.datasource.rows[i][this.datavaluefield].tostring()));
                ddl.items.add(new listitem(this.datasource.rows[i][this.datatextfield].tostring(),this.datasource.rows[i][this.datavaluefield].tostring())); ddl.items.findbyvalue((databinder.eval(dgi.dataitem,this.datavaluefield)).tostring()).selected=true;
            ddl.items.findbyvalue((databinder.eval(dgi.dataitem,this.datavaluefield)).tostring()).selected=true; }
        }
 private void btn_click(object sender,eventargs e)
        private void btn_click(object sender,eventargs e)
 
         {
{ tablecell cell=(tablecell)(((button)sender).parent);
            tablecell cell=(tablecell)(((button)sender).parent); dropdownlist ddl=(dropdownlist)cell.controls[0];
            dropdownlist ddl=(dropdownlist)cell.controls[0]; textbox t=(textbox)cell.controls[1];
            textbox t=(textbox)cell.controls[1]; datagriditem dgi=(datagriditem)cell.namingcontainer;
            datagriditem dgi=(datagriditem)cell.namingcontainer; listitem li=ddl.items.findbytext(t.text);
            listitem li=ddl.items.findbytext(t.text); if(li!=null)
            if(li!=null)
 
             {
{ ddl.selectedindex=-1;
                ddl.selectedindex=-1; li.selected=true;
                li.selected=true; }
            } }
        } }
    } }
}

 <%
<% @ page language="c#" codebehind="webform67.aspx.cs" autoeventwireup="false" inherits="csdn.webform67" %>
@ page language="c#" codebehind="webform67.aspx.cs" autoeventwireup="false" inherits="csdn.webform67" %>
 <%
<% @ register tagprefix="mydatagridcolumn" assembly="csdn" namespace="csdn"%>
@ register tagprefix="mydatagridcolumn" assembly="csdn" namespace="csdn"%> <!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" > <html>
<html> <head>
    <head> <title>test</title>
        <title>test</title> <meta http-equiv="content-type" content="text/html; charset=gb2312">
        <meta http-equiv="content-type" content="text/html; charset=gb2312"> <meta content="microsoft visual studio .net 7.1" name="generator">
        <meta content="microsoft visual studio .net 7.1" name="generator"> <meta content="c#" name="code_language">
        <meta content="c#" name="code_language"> <meta content="javascript" name="vs_defaultclientscript">
        <meta content="javascript" name="vs_defaultclientscript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema"> <link href="css.css" type="text/css" rel="stylesheet">
        <link href="css.css" type="text/css" rel="stylesheet"> </head>
    </head> <body>
    <body> <form id="form1" method="post" runat="server">
        <form id="form1" method="post" runat="server"> <asp:datagrid id="datagrid1" runat="server" datakeyfield="stuid" cellspacing="1" borderwidth="0px"
            <asp:datagrid id="datagrid1" runat="server" datakeyfield="stuid" cellspacing="1" borderwidth="0px" oneditcommand="edit" oncancelcommand="cancel" onupdatecommand="update" cellpadding="5" cssclass="border"
                oneditcommand="edit" oncancelcommand="cancel" onupdatecommand="update" cellpadding="5" cssclass="border" autogeneratecolumns="false">
                autogeneratecolumns="false"> <itemstyle cssclass="item"></itemstyle>
                <itemstyle cssclass="item"></itemstyle> <headerstyle cssclass="header"></headerstyle>
                <headerstyle cssclass="header"></headerstyle> <columns>
                <columns> <asp:boundcolumn headertext="姓名" datafield="stuname"></asp:boundcolumn>
                    <asp:boundcolumn headertext="姓名" datafield="stuname"></asp:boundcolumn> <mydatagridcolumn:mycolumn headertext="學(xué)院" datatextfield="depname" datavaluefield="depid"></mydatagridcolumn:mycolumn>
                    <mydatagridcolumn:mycolumn headertext="學(xué)院" datatextfield="depname" datavaluefield="depid"></mydatagridcolumn:mycolumn> <asp:editcommandcolumn buttontype="pushbutton" updatetext="更新" canceltext="取消" edittext="編輯"></asp:editcommandcolumn>
                    <asp:editcommandcolumn buttontype="pushbutton" updatetext="更新" canceltext="取消" edittext="編輯"></asp:editcommandcolumn> </columns>
                </columns> </asp:datagrid>
            </asp:datagrid> </form>
        </form> </body>
    </body> </html>
</html>
 using system;
using system; using system.collections;
using system.collections; using system.componentmodel;
using system.componentmodel; using system.data;
using system.data; using system.data.sqlclient;
using system.data.sqlclient; using system.drawing;
using system.drawing; using system.web;
using system.web; using system.web.sessionstate;
using system.web.sessionstate; using system.web.ui;
using system.web.ui; using system.web.ui.webcontrols;
using system.web.ui.webcontrols; using system.web.ui.htmlcontrols;
using system.web.ui.htmlcontrols;
 namespace csdn
namespace csdn

 {
{
 /**//// <summary>
    /**//// <summary> /// webform67 的摘要說明。
    /// webform67 的摘要說明。 /// </summary>
    /// </summary> public class webform67 : system.web.ui.page
    public class webform67 : system.web.ui.page
 
     {
{ protected system.web.ui.webcontrols.datagrid datagrid1;
        protected system.web.ui.webcontrols.datagrid datagrid1; 
         private void page_load(object sender, system.eventargs e)
        private void page_load(object sender, system.eventargs e)
 
         {
{ // 在此處放置用戶代碼以初始化頁面
            // 在此處放置用戶代碼以初始化頁面 if(!ispostback)
            if(!ispostback)
 
             {
{ setbind();
                setbind(); }
            }             }
        }
 protected void setbind()
        protected void setbind()
 
         {
{ sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]);
            sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]); sqldataadapter da=new sqldataadapter("select * from stu,dep where stu.studepid=dep.depid",conn);
            sqldataadapter da=new sqldataadapter("select * from stu,dep where stu.studepid=dep.depid",conn); dataset ds=new dataset();
            dataset ds=new dataset(); da.fill(ds);
            da.fill(ds); this.datagrid1.datasource=ds.tables[0];
            this.datagrid1.datasource=ds.tables[0]; this.datagrid1.databind();
            this.datagrid1.databind();             }
        }
 protected void edit(object sender,datagridcommandeventargs e)
        protected void edit(object sender,datagridcommandeventargs e)
 
         {
{ this.datagrid1.edititemindex=e.item.itemindex;
            this.datagrid1.edititemindex=e.item.itemindex; setbind();
            setbind(); 
             }
        }
 protected void cancel(object sender,datagridcommandeventargs e)
        protected void cancel(object sender,datagridcommandeventargs e)
 
         {
{ this.datagrid1.edititemindex=-1;
            this.datagrid1.edititemindex=-1; setbind();
            setbind(); }
        }
 protected void update(object sender,datagridcommandeventargs e)
        protected void update(object sender,datagridcommandeventargs e)
 
         {
{ if(e.item.itemtype==listitemtype.edititem)
            if(e.item.itemtype==listitemtype.edititem)
 
             {
{ sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]);
                sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]); sqlcommand comm=new sqlcommand("update stu set [email protected],[email protected] where [email protected]",conn);
                sqlcommand comm=new sqlcommand("update stu set [email protected],[email protected] where [email protected]",conn); sqlparameter parm1=new sqlparameter("@name",sqldbtype.nvarchar,50);
                sqlparameter parm1=new sqlparameter("@name",sqldbtype.nvarchar,50); parm1.value=((textbox)e.item.cells[0].controls[0]).text;
                parm1.value=((textbox)e.item.cells[0].controls[0]).text; sqlparameter parm2=new sqlparameter("@depid",sqldbtype.int);
                sqlparameter parm2=new sqlparameter("@depid",sqldbtype.int); parm2.value=((dropdownlist)e.item.cells[1].controls[0]).selectedvalue;
                parm2.value=((dropdownlist)e.item.cells[1].controls[0]).selectedvalue; sqlparameter parm3=new sqlparameter("@id",sqldbtype.int);
                sqlparameter parm3=new sqlparameter("@id",sqldbtype.int); parm3.value=this.datagrid1.datakeys[e.item.itemindex];
                parm3.value=this.datagrid1.datakeys[e.item.itemindex]; comm.parameters.add(parm1);
                comm.parameters.add(parm1); comm.parameters.add(parm2);
                comm.parameters.add(parm2); comm.parameters.add(parm3);
                comm.parameters.add(parm3); conn.open();
                conn.open(); comm.executenonquery();
                comm.executenonquery(); conn.close();
                conn.close(); this.datagrid1.edititemindex=-1;
                this.datagrid1.edititemindex=-1; setbind();
                setbind(); }
            } }
        }

 web 窗體設(shè)計(jì)器生成的代碼#region web 窗體設(shè)計(jì)器生成的代碼
        web 窗體設(shè)計(jì)器生成的代碼#region web 窗體設(shè)計(jì)器生成的代碼 override protected void oninit(eventargs e)
        override protected void oninit(eventargs e)
 
         {
{ //
            // // codegen: 該調(diào)用是 asp.net web 窗體設(shè)計(jì)器所必需的。
            // codegen: 該調(diào)用是 asp.net web 窗體設(shè)計(jì)器所必需的。 //
            // initializecomponent();
            initializecomponent(); base.oninit(e);
            base.oninit(e); }
        } 
        
 /**//// <summary>
        /**//// <summary> /// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
        /// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改 /// 此方法的內(nèi)容。
        /// 此方法的內(nèi)容。 /// </summary>
        /// </summary> private void initializecomponent()
        private void initializecomponent()
 
         {
{     this.datagrid1.itemdatabound += new system.web.ui.webcontrols.datagriditemeventhandler(this.datagrid1_itemdatabound);
            this.datagrid1.itemdatabound += new system.web.ui.webcontrols.datagriditemeventhandler(this.datagrid1_itemdatabound); this.load += new system.eventhandler(this.page_load);
            this.load += new system.eventhandler(this.page_load);
 }
        } #endregion
        #endregion
 private void datagrid1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
        private void datagrid1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
 
         {
{ sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]);
            sqlconnection conn=new sqlconnection(system.configuration.configurationsettings.appsettings["conn"]); sqldataadapter da=new sqldataadapter("select * from dep",conn);
            sqldataadapter da=new sqldataadapter("select * from dep",conn); dataset ds=new dataset();
            dataset ds=new dataset(); da.fill(ds);
            da.fill(ds); ((mycolumn)this.datagrid1.columns[1]).datasource=ds.tables[0];
            ((mycolumn)this.datagrid1.columns[1]).datasource=ds.tables[0]; }
        } }
    } }
}
新聞熱點(diǎn)
疑難解答
圖片精選