zoukankan      html  css  js  c++  java
  • GridView级联显示 与Nettier的合成应用Sample[较乱,附代码]



    这是一个财务统驭科目ChartOfAccount 和子帐科目间的数据操作Sample
      1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChartOfAccount.aspx.cs" Inherits="WebModules_CommonMasterData_ChartOfAccount" %>
      2
      3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      4
      5<html xmlns="http://www.w3.org/1999/xhtml" >
      6<head runat="server">
      7    <title>无标题页</title>
      8</head>
      9<body>
     10    <form id="form1" runat="server">
     11    <div>
     12        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ChartID"
     13            DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" OnRowCommand="GridView1_RowCommand" ShowFooter="True" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="855px" AllowPaging="True" OnRowEditing="GridView1_RowEditing">
     14            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
     15            <Columns>
     16                <asp:TemplateField ShowHeader="False">
     17                    <ItemTemplate>
     18                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select"
     19                            Text="选中"></asp:LinkButton>
     20                    </ItemTemplate>
     21                </asp:TemplateField>
     22                <asp:TemplateField HeaderText="统驭科目ID" SortExpression="ChartID">
     23                    <EditItemTemplate>
     24                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("ChartID") %>'></asp:Label>
     25                    </EditItemTemplate>
     26                    <FooterTemplate>
     27                        <asp:Button ID="btnCreate" runat="server" CommandName="Insert" Text="新建" />
     28                    </FooterTemplate>
     29                    <ItemTemplate>
     30                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("ChartID") %>'></asp:Label>
     31                    </ItemTemplate>
     32                </asp:TemplateField>
     33                <asp:TemplateField HeaderText="统驭科目名" SortExpression="ChartOfAccountName">
     34                    <EditItemTemplate>
     35                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ChartOfAccountName") %>'></asp:TextBox>
     36                    </EditItemTemplate>
     37                    <FooterTemplate>
     38                        <asp:TextBox ID="newChartOfAccountName" runat="server"></asp:TextBox>
     39                    </FooterTemplate>
     40                    <ItemTemplate>
     41                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("ChartOfAccountName") %>'></asp:Label>
     42                    </ItemTemplate>
     43                </asp:TemplateField>
     44                <asp:TemplateField HeaderText="注释" SortExpression="Description">
     45                    <EditItemTemplate>
     46                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox>
     47                    </EditItemTemplate>
     48                    <FooterTemplate>
     49                        <asp:TextBox ID="newDescription" runat="server"></asp:TextBox>
     50                    </FooterTemplate>
     51                    <ItemTemplate>
     52                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
     53                    </ItemTemplate>
     54                </asp:TemplateField>
     55                <asp:TemplateField HeaderText="统驭科目编码" SortExpression="ChartCode">
     56                    <EditItemTemplate>
     57                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ChartCode") %>'></asp:TextBox>
     58                    </EditItemTemplate>
     59                    <FooterTemplate>
     60                        <asp:TextBox ID="txtChartOfCode" runat="server"></asp:TextBox>
     61                    </FooterTemplate>
     62                    <ItemTemplate>
     63                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("ChartCode") %>'></asp:Label>
     64                    </ItemTemplate>
     65                </asp:TemplateField>
     66                <asp:BoundField DataField="CreateDate" HeaderText="创建日期" SortExpression="CreateDate" />
     67                <asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
     68                <asp:TemplateField HeaderText="下属科目" Visible="False">
     69                    <EditItemTemplate>
     70                        &nbsp;<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
     71                            BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
     72                            CellPadding="3" DataKeyNames="LengendID" DataSourceID="SqlDataSource3" GridLines="Horizontal"
     73                            Height="50px" Width="125px">
     74                            <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
     75                            <EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
     76                            <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
     77                            <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
     78                            <Fields>
     79                                <asp:BoundField DataField="LegendCode" HeaderText="LegendCode" SortExpression="LegendCode" />
     80                                <asp:BoundField DataField="LegendName" HeaderText="LegendName" SortExpression="LegendName" />
     81                                <asp:BoundField DataField="LengendID" HeaderText="LengendID" InsertVisible="False"
     82                                    ReadOnly="True" SortExpression="LengendID" />
     83                                <asp:BoundField DataField="ChartID" HeaderText="ChartID" SortExpression="ChartID" />
     84                                <asp:BoundField DataField="ChartCode" HeaderText="ChartCode" SortExpression="ChartCode" />
     85                                <asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
     86                            </Fields>
     87                            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
     88                            <AlternatingRowStyle BackColor="#F7F7F7" />
     89                        </asp:DetailsView>
     90                        <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
     91                            SelectCommand="SELECT [LegendCode], [LegendName], [LengendID], [ChartID], [ChartCode], [status] FROM [FinanceLegend]">
     92                        </asp:SqlDataSource>
     93                    </EditItemTemplate>
     94                </asp:TemplateField>
     95                <asp:CommandField ShowEditButton="True" />
     96            </Columns>
     97            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
     98            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
     99            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    100            <AlternatingRowStyle BackColor="White" />
    101            <RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
    102            <EditRowStyle BackColor="#2461BF" />
    103        </asp:GridView>
    104        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
    105        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
    106            SelectCommand="SELECT [ChartID], [ChartOfAccountName], [ProfitCenterName], [status], [Description], [ProfitCenterID], [EndCode], [BeginCode], [ChartCode], [CreateDate] FROM [FinanceCharOfAccount]">
    107        </asp:SqlDataSource>
    108        &nbsp;
    109        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
    110            SelectCommand="SELECT [LegendCode], [LegendName], [LengendID], [ChartID], [ChartCode], [status] FROM [FinanceLegend]">
    111        </asp:SqlDataSource>
    112        <asp:Label ID="Label6" runat="server" Text="子科目代码"></asp:Label>
    113        <asp:TextBox ID="txtLengendCode" runat="server"></asp:TextBox>
    114        <asp:Label ID="Label5" runat="server" Text="子科目名" Width="57px"></asp:Label>
    115        <asp:TextBox ID="txtLengendName" runat="server"></asp:TextBox>
    116        <asp:Button ID="btnCreateLengend" runat="server" OnClick="btnCreateLengend_Click"
    117            Text="创建子科目" />
    118        <asp:GridView ID="GridView2" runat="server" AllowPaging="True" AutoGenerateColumns="False"
    119            DataSourceID="SqlDataSource4" PageSize="5" OnRowCommand="GridView2_RowCommand" HorizontalAlign="Left">
    120            <Columns>
    121                <asp:TemplateField HeaderText="子科目代码" SortExpression="LegendCode">
    122                    <EditItemTemplate>
    123                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LegendCode") %>'></asp:TextBox>
    124                    </EditItemTemplate>
    125                    <FooterTemplate>
    126                        <asp:TextBox ID="newLengendCode" runat="server"></asp:TextBox>
    127                    </FooterTemplate>
    128                    <ItemTemplate>
    129                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("LegendCode") %>'></asp:Label>
    130                    </ItemTemplate>
    131                </asp:TemplateField>
    132                <asp:TemplateField HeaderText="科目名称" SortExpression="LegendName">
    133                    <EditItemTemplate>
    134                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LegendName") %>'></asp:TextBox>
    135                    </EditItemTemplate>
    136                    <FooterTemplate>
    137                        <asp:TextBox ID="newLengendName" runat="server"></asp:TextBox>
    138                    </FooterTemplate>
    139                    <ItemTemplate>
    140                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("LegendName") %>'></asp:Label>
    141                    </ItemTemplate>
    142                </asp:TemplateField>
    143                <asp:BoundField DataField="ChartCode" HeaderText="统驭科目代码" SortExpression="ChartCode" />
    144                <asp:BoundField DataField="ChartID" HeaderText="统驭科目ID" SortExpression="ChartID" />
    145                <asp:TemplateField HeaderText="状态" SortExpression="status">
    146                    <EditItemTemplate>
    147                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("status") %>'></asp:TextBox>
    148                    </EditItemTemplate>
    149                    <FooterTemplate>
    150                        <asp:Button ID="btnCreateLengend" runat="server" CommandName="Insert" Text="创建子科目" />
    151                    </FooterTemplate>
    152                    <ItemTemplate>
    153                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("status") %>'></asp:Label>
    154                    </ItemTemplate>
    155                </asp:TemplateField>
    156            </Columns>
    157            <RowStyle HorizontalAlign="Center" />
    158        </asp:GridView>
    159        &nbsp; &nbsp;
    160        <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
    161            SelectCommand="SELECT [LegendCode], [LegendName], [ChartCode], [ChartID], [status] FROM [FinanceLegend] WHERE ([ChartID] = @ChartID)">
    162            <SelectParameters>
    163                <asp:ControlParameter ControlID="GridView1" Name="ChartID" PropertyName="SelectedValue"
    164                    Type="Int32" />
    165            </SelectParameters>
    166        </asp:SqlDataSource>
    167        <asp:DetailsView ID="DetailsView2" runat="server" Height="50px" Width="125px">
    168        </asp:DetailsView>
    169    
    170    </div>
    171    </form>
    172</body>
    173</html>
    174

    后台数据:
      1using System;
      2using System.Data;
      3using System.Configuration;
      4using System.Collections;
      5using System.Web;
      6using System.Web.Security;
      7using System.Web.UI;
      8using System.Web.UI.WebControls;
      9using System.Web.UI.WebControls.WebParts;
     10using System.Web.UI.HtmlControls;
     11using BlueBeans.Data;
     12using BlueBeans.Entities;
     13
     14public partial class WebModules_CommonMasterData_ChartOfAccount : System.Web.UI.Page
     15{
     16    int _chartID = 0;
     17    string _chartCode = string.Empty;
     18    protected void Page_Load(object sender, EventArgs e)
     19    {
     20
     21    }

     22    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
     23    {
     24        if (e.CommandName.Equals("Insert"))
     25        {
     26            TextBox newChartOfAccountName = (TextBox)this.GridView1.FooterRow.FindControl("newChartOfAccountName");
     27            TextBox newDescription = (TextBox)this.GridView1.FooterRow.FindControl("newDescription");
     28            TextBox txtChartOfCode = (TextBox)this.GridView1.FooterRow.FindControl("txtChartOfCode");
     29
     30            FinanceCharOfAccount coa = new FinanceCharOfAccount();
     31            coa.ChartCode = txtChartOfCode.Text;
     32            coa.Description = newDescription.Text;
     33            coa.ChartOfAccountName = newChartOfAccountName.Text;
     34            coa.CreateDate = DateTime.Now;
     35            coa.Status = 0;
     36
     37            try
     38            {
     39                DataRepository.FinanceCharOfAccountProvider.Save(coa);
     40            }

     41            catch (Exception ex)
     42            {
     43                Response.Write(ex.Message);
     44            }

     45
     46            this.GridView1.DataBind();           
     47
     48        }

     49
     50    }

     51
     52    private void InsertLengendCode()
     53    {
     54        //DataTable dataTable = new DataTable();
     55        //DataColumn col0 = dataTable.Columns.Add("ChartID", typeof(System.Int32));
     56        //col0.AllowDBNull = false;
     57        //DataColumn col1 = dataTable.Columns.Add("ChartOfAccountName", typeof(System.String));
     58        //col1.AllowDBNull = false;
     59        //DataColumn col2 = dataTable.Columns.Add("ProfitCenterName", typeof(System.String));
     60        //col2.AllowDBNull = true;
     61        //DataColumn col3 = dataTable.Columns.Add("status", typeof(System.Int32));
     62        //col3.AllowDBNull = true;
     63        //DataColumn col4 = dataTable.Columns.Add("Description", typeof(System.String));
     64        //col4.AllowDBNull = true;
     65        //DataColumn col5 = dataTable.Columns.Add("CreateDate", typeof(System.DateTime));
     66        //col5.AllowDBNull = true;
     67        //DataColumn col6 = dataTable.Columns.Add("ChartCode", typeof(System.String));
     68        //col6.AllowDBNull = false;
     69        //DataColumn col7 = dataTable.Columns.Add("BeginCode", typeof(System.String));
     70        //col7.AllowDBNull = true;
     71        //DataColumn col8 = dataTable.Columns.Add("EndCode", typeof(System.String));
     72        //col8.AllowDBNull = true;
     73        //DataColumn col9 = dataTable.Columns.Add("ProfitCenterID", typeof(System.Int32));
     74        //col9.AllowDBNull = true;
     75
     76        //bulkCopy.ColumnMappings.Add("ChartID", "ChartID");
     77        //bulkCopy.ColumnMappings.Add("ChartOfAccountName", "ChartOfAccountName");
     78        //bulkCopy.ColumnMappings.Add("ProfitCenterName", "ProfitCenterName");
     79        //bulkCopy.ColumnMappings.Add("status", "status");
     80        //bulkCopy.ColumnMappings.Add("Description", "Description");
     81        //bulkCopy.ColumnMappings.Add("CreateDate", "CreateDate");
     82        //bulkCopy.ColumnMappings.Add("ChartCode", "ChartCode");
     83        //bulkCopy.ColumnMappings.Add("BeginCode", "BeginCode");
     84        //bulkCopy.ColumnMappings.Add("EndCode", "EndCode");
     85        //bulkCopy.ColumnMappings.Add("ProfitCenterID", "ProfitCenterID");
     86
     87        //foreach (BlueBeans.Entities.FinanceCharOfAccount entity in entities)
     88        //{
     89        //    if (entity.EntityState != EntityState.Added)
     90        //        continue;
     91
     92        //    DataRow row = dataTable.NewRow();
     93
     94        //    row["ChartID"] = entity.ChartID;
     95
     96
     97        //    row["ChartOfAccountName"] = entity.ChartOfAccountName;
     98
     99
    100        //    row["ProfitCenterName"] = entity.ProfitCenterName;
    101
    102
    103        //    row["status"] = entity.Status.HasValue ? (object)entity.Status : System.DBNull.Value;
    104
    105
    106        //    row["Description"] = entity.Description;
    107
    108
    109        //    row["CreateDate"] = entity.CreateDate.HasValue ? (object)entity.CreateDate : System.DBNull.Value;
    110
    111
    112        //    row["ChartCode"] = entity.ChartCode;
    113
    114
    115        //    row["BeginCode"] = entity.BeginCode;
    116
    117
    118        //    row["EndCode"] = entity.EndCode;
    119
    120
    121        //    row["ProfitCenterID"] = entity.ProfitCenterID.HasValue ? (object)entity.ProfitCenterID : System.DBNull.Value;
    122
    123
    124        //    dataTable.Rows.Add(row);
    125            
    126        // }
    127      
    128        
    129        }

    130    /// <summary>
    131    /// 获取主表数据
    132    /// </summary>
    133    /// <param name="sender"></param>
    134    /// <param name="e"></param>

    135    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    136    {
    137        //Response.Write(this.GridView1.SelectedValue.ToString());
    138        this.ViewState["ChartID"= this.GridView1.SelectedValue.ToString();
    139        this._chartID = int.Parse(this.GridView1.SelectedValue.ToString());
    140        //this._chartCode = this.GridView1.SelectedRow.Cells[3];
    141    }

    142    /// <summary>
    143    /// Insert从表数据
    144    /// </summary>
    145    /// <param name="sender"></param>
    146    /// <param name="e"></param>

    147    protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
    148    {
    149        //Response.Write(this.GridView1.SelectedValue.ToString());
    150        if (e.CommandName.Equals("Insert"))
    151        {
    152            TextBox newLengendName = (TextBox)this.GridView2.FooterRow.FindControl("newLengendName");
    153            TextBox newLengendCode = (TextBox)this.GridView2.FooterRow.FindControl("newLengendCode");
    154
    155
    156            FinanceLegend lengend = new FinanceLegend();
    157            lengend.ChartID =int.Parse( this.GridView1.SelectedValue.ToString());
    158
    159            FinanceCharOfAccount coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(int.Parse(this.GridView1.SelectedValue.ToString()));
    160            lengend.ChartCode = coa.ChartCode;
    161
    162            lengend.LegendCode = newLengendCode.Text;
    163            lengend.LegendName = newLengendName.Text;
    164            
    165            lengend.Status = 0;
    166
    167            try
    168            {
    169                DataRepository.FinanceLegendProvider.Save(lengend);
    170            }

    171            catch (Exception ex)
    172            {
    173                Response.Write(ex.Message);
    174            }

    175
    176            this.GridView2.DataBind();
    177
    178        }

    179    }

    180    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    181    {
    182
    183    }

    184    protected void btnCreateLengend_Click(object sender, EventArgs e)
    185    {
    186
    187
    188
    189            FinanceLegend lengend = new FinanceLegend();
    190            lengend.ChartID = int.Parse(this.GridView1.SelectedValue.ToString());
    191            //FinanceCharOfAccount coa = new FinanceCharOfAccount();
    192            //coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(lengend.ChartID);
    193            FinanceCharOfAccount coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(int.Parse(this.GridView1.SelectedValue.ToString()));
    194            lengend.ChartCode = coa.ChartCode;
    195            lengend.LegendCode = this.txtLengendCode.Text;
    196            lengend.LegendName = this.txtLengendName.Text;
    197            
    198            lengend.Status = 0;
    199
    200            try
    201            {
    202                DataRepository.FinanceLegendProvider.Save(lengend);
    203            }

    204            catch (Exception ex)
    205            {
    206                Response.Write(ex.Message);
    207            }

    208        //Clear Text
    209            this.txtLengendCode.Text = string.Empty;
    210            this.txtLengendName.Text = string.Empty;
    211
    212            this.GridView2.DataBind();
    213
    214        
    215
    216    }

    217}

    218

    显示效果:


  • 相关阅读:
    敏捷开发之道(二)极限编程XP
    敏捷开发之道(一)敏捷开发宣言
    [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建
    [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建
    [原]项目进阶 之 持续构建环境搭建(二)Nexus私服器
    项目进阶 之 持续构建环境搭建(一)架构
    SVN备份教程(三)
    jQuery 层次选择器
    利用web workers实现多线程处理
    本地存储(localStorage、sessionStorage、web Database)
  • 原文地址:https://www.cnblogs.com/SlashOut/p/840593.html
Copyright © 2011-2022 走看看