Hierarchy 的主從表綁定 和 update 主從表數據

protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)

    {

        string str = "select * from Users" ;

        DataTable dt = AspnetDbConnector .GenerateDataTable(str);

        RadGrid1.DataSource = dt;

    }

    protected void RadGrid1_detaildata(object sender, GridDetailTableDataBindEventArgs e)

{

// GridDetailTable 獲取 GridDataItem item 標示

        GridDataItem dataItem = (GridDataItem )e.DetailTableView.ParentItem;

// 得到主表的 userId

  string userId = dataItem.OwnerTableView.Items[dataItem.ItemIndex].GetDataKeyValue("userId" ).ToString();

        string str2 = "select * from TeamUser where userId='" + userId + "'" ;

        DataTable dt2 = AspnetDbConnector .GenerateDataTable(str2);

        e.DetailTableView.DataSource = dt2;

 

       

    }

 

    protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)

{

// 判斷事件是來自主表還是從表

        if (e.Item.OwnerTableView.Name=="Master" )

        {

            string userId = e.Item.OwnerTableView.Items[e.Item.ItemIndex].GetDataKeyValue("userId" ).ToString();

            TextBox tb = (TextBox ) e.Item.FindControl("tb1" );

            string loginname = tb.Text;

 

            string updateSql1 = "update Users set loginname='" + loginname + "' where userId='" + userId + "'" ;

            AspnetDbConnector .runSql(updateSql1);

        }

        else if (e.Item.OwnerTableView.Name=="Detail" )

        {

            string teamuserId = e.Item.OwnerTableView.Items[e.Item.ItemIndex].GetDataKeyValue("teamuserId" ).ToString();

            TextBox tb = (TextBox )e.Item.FindControl("tb1" );

            string description = tb.Text;

            string updateSql2 = "update TeamUser set description= '" + description + "' where teamuserId='" + teamuserId +

                                "'" ;

            AspnetDbConnector .runSql(updateSql2);

        }

    }

 

 

Html 代碼:

<% @ Page Language ="C#" AutoEventWireup ="true" CodeFile ="Default4.aspx.cs" Inherits ="Default4" %>

 

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

< html xmlns ="http://www.w3.org/1999/xhtml">

< head runat ="server">

    < title ></ title >

</ head >

< body >

    < form id ="form1" runat ="server">

    < telerik : RadScriptManager ID ="RadScriptManager1" runat ="server">

                   < Scripts >

                            <% --Needed for JavaScript IntelliSense in VS2010-- %>

                            <% --For VS2008 replace RadScriptManager with ScriptManager-- %>

                            < asp : ScriptReference Assembly ="Telerik.Web.UI" Name ="Telerik.Web.UI.Common.Core.js" />

                            < asp : ScriptReference Assembly ="Telerik.Web.UI" Name ="Telerik.Web.UI.Common.jQuery.js" />

                            < asp : ScriptReference Assembly ="Telerik.Web.UI" Name ="Telerik.Web.UI.Common.jQueryInclude.js" />

                   </ Scripts >

         </ telerik : RadScriptManager >

    < div >

   

        < telerik : RadGrid ID ="RadGrid1" runat ="server" GridLines ="None"

            onneeddatasource ="RadGrid1_NeedDataSource"

            OnDetailTableDataBind =" RadGrid1_detaildata "

            onitemcommand ="RadGrid1_ItemCommand"

            onupdatecommand ="RadGrid1_UpdateCommand" >

< MasterTableView DataKeyNames ="userId" Name ="Master" CommandItemDisplay ="Top">

    < DetailTables >

        < telerik : GridTableView runat ="server" Name ="Detail" DataKeyNames ="teamuserId" CommandItemDisplay =Top>

            < ParentTableRelation >

                < telerik : GridRelationFields DetailKeyField ="userId" MasterKeyField ="userId" />

            </ ParentTableRelation >

            < CommandItemSettings ExportToPdfText ="Export to Pdf" />

            < RowIndicatorColumn >

                < HeaderStyle Width ="20px" />

             </ RowIndicatorColumn >

            < ExpandCollapseColumn >

                < HeaderStyle Width ="20px" />

            </ ExpandCollapseColumn >

            < Columns >

                < telerik : GridEditCommandColumn >

                </ telerik : GridEditCommandColumn >

                < telerik : GridButtonColumn Text ="Temp" CommandName ="Test"></ telerik : GridButtonColumn >

                < telerik : GridTemplateColumn HeaderText ="description">

                < ItemTemplate >

                < asp : label ID ="TextBox1" runat ="server"

                Text =' <% # Bind("description") %> ' ></ asp : label >

                </ ItemTemplate >

                < EditItemTemplate >

                < asp : TextBox ID ="tb1" runat ="server"

                Text =' <% # Bind("description") %> ' ></ asp : TextBox >

                </ EditItemTemplate >

                </ telerik : GridTemplateColumn >

            </ Columns >

 

< EditFormSettings >

< EditColumn UniqueName ="EditCommandColumn1"></ EditColumn >

</ EditFormSettings >

        </ telerik : GridTableView >

    </ DetailTables >

< CommandItemSettings ExportToPdfText ="Export to Pdf"></ CommandItemSettings >

 

< RowIndicatorColumn >

< HeaderStyle Width ="20px"></ HeaderStyle >

</ RowIndicatorColumn >

 

< ExpandCollapseColumn Visible ="True">

< HeaderStyle Width ="20px"></ HeaderStyle >

</ ExpandCollapseColumn >

    < Columns >

        < telerik : GridTemplateColumn HeaderText ="loginname">

        < ItemTemplate >

        < asp : label ID ="TextBox1" runat ="server"

                Text =' <% # Bind("loginname") %> ' ></ asp : label >

        </ ItemTemplate >

        < EditItemTemplate >

         < asp : TextBox ID ="tb1" runat ="server"

                Text =' <% # Bind("loginname") %> ' ></ asp : TextBox >

        </ EditItemTemplate >

        </ telerik : GridTemplateColumn >

        < telerik : GridEditCommandColumn >

        </ telerik : GridEditCommandColumn >

    </ Columns >

 

< EditFormSettings >

< EditColumn UniqueName ="EditCommandColumn1"></ EditColumn >

</ EditFormSettings >

</ MasterTableView >

        </ telerik : RadGrid >

   

    </ div >

    </ form >

</ body >

</ html >


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章