看到gridview和formview的例子,都是在一个页上的,formview单独用一个页显示详细信息,怎么做呢?

解决方案 »

  1.   

    我用gridview做列表显示一些数据,打开的页用formview显示详细的数据并显示,可以进入编辑状态,更新时也不提示错误,但总是保存不上,代码如下,
    gridview页面得代码:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Applylist.aspx.vb" Inherits="Apply_Applylist" %><%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %><!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">
     <asp:GridView ID="GVApply" runat="server" AllowPaging="True" AllowSorting="True"
                AutoGenerateColumns="False" CellPadding="4" DataKeyNames="AppID" DataSourceID="SqlDaSouApply"
                ForeColor="#333333" GridLines="None" Width="731px">
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <Columns>
                   <asp:HyperLinkField DataTextField="UnitName" Target="_blank" DataNavigateUrlFields="AppID" DataNavigateUrlFormatString="EditApply.aspx?AppID={0}" />
                    <asp:BoundField DataField="Manager" HeaderText="负责人" SortExpression="Manager" >
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField DataField="ApplyDate" HeaderText="申请日期" SortExpression="ApplyDate" >
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Status" HeaderText="状态" SortExpression="Status" >
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:BoundField>
                    <asp:BoundField DataField="AppID" HeaderText="AppID" InsertVisible="False" ReadOnly="True"
                        SortExpression="AppID" Visible="False" />
                    <asp:ButtonField Text="编辑">
                        <ItemStyle ForeColor="Blue" />
                    </asp:ButtonField>
                </Columns>
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <EditRowStyle BackColor="#999999" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            </asp:GridView>   <asp:SqlDataSource ID="SqlDaSouApply" runat="server" ConnectionString="<%$ ConnectionStrings:kgglConnectionString %>"
              SelectCommand = "SELECT [AppID], [UnitName], [Manager], [ApplyDate], [Status] FROM [kg_Apply]" >
            </asp:SqlDataSource>formview页面:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="EditApply.aspx.vb" Inherits="Apply_EditApply" %><!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">
        <div>
            <asp:SqlDataSource ID="SqlDataSourceEdit" runat="server" ConnectionString="<%$ ConnectionStrings:kgglConnectionString %>"
                    SelectCommand="SELECT [AppID], [UnitName], [Manager], [ApplyDate] FROM [kg_Apply] WHERE ([AppID] = @AppID)"
                UpdateCommand="UPDATE [kg_Apply] SET [UnitName] = @UnitName, [Manager] = @Manager, [ApplyDate] = @ApplyDate WHERE [AppID] = @AppID">
                <SelectParameters>
                    <asp:QueryStringParameter Name="AppID" QueryStringField="AppID" Type="Int32" />
                </SelectParameters>
                 
         
                <UpdateParameters>
                    <asp:Parameter Name="UnitName" Type="String" />
                    <asp:Parameter Name="Manager" Type="String" />
                    <asp:Parameter Name="ApplyDate" Type="DateTime" />
                    <asp:Parameter Name="AppID" Type="Int32" />
                </UpdateParameters>
             
            </asp:SqlDataSource>
            &nbsp;</div>
            <asp:FormView ID="FormView1" runat="server" BackColor="White" BorderColor="#CC9966"
                BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="SqlDataSourceEdit"
                GridLines="Both">
                   <ItemTemplate>             <TABLE id="Table1" width="500" border="0">
                 <tr><td align=right><B>编号* :</B></td>  <td><%#Eval("AppId")%></td></tr>
                 <tr><td align=right><B>主申请单位* :</B></td>  <td><%#Eval("UnitName")%></td></tr>
                        <tr><td align=right><B>负责人:</B></td><td><%#Eval("Manager")%></td></tr>
                        <tr><td align=right><B>申请时间:</B></td>     <td><%# Eval("ApplyDate") %></td></tr>
                        <tr>
                          <td colspan="2">
                            <asp:LinkButton ID="EditButton"
                                            Text="Edit"
                                            CommandName="Edit"
                                            RunAt="server"/>
                            &nbsp;
                                             
                          </td>
                        </tr>
    </TABLE>
    </ItemTemplate>
     <EditItemTemplate>
                      <table>
                      
                        <tr><td align=right><B>Employee ID:</B></td><td><%#Eval("AppId")%></td></tr>
                        <tr><td align=right><B>First Name:</B></td>
                            <td><asp:TextBox ID="TextBox1" 
                                             Text='<%# Bind("UnitName") %>' 
                                             RunAt="Server" /></td></tr>
                        <tr><td align=right><B>First Name:</B></td>
                            <td><asp:TextBox ID="EditFirstNameTextBox" 
                                             Text='<%# Bind("Manager") %>' 
                                             RunAt="Server" /></td></tr>                    <tr><td align=right><B>Last Name:</B></td>
                            <td><asp:TextBox ID="EditLastNameTextBox" 
                                             Text='<%# Bind("ApplyDate") %>' 
                                             RunAt="Server" /></td></tr>
                        <tr>
                          <td colspan="2">
                            <asp:LinkButton ID="UpdateButton"
                                            Text="Update"
                                            CommandName="Update"
                                            RunAt="server"/>
                            &nbsp;
                            <asp:LinkButton ID="CancelUpdateButton"
                                            Text="Cancel"
                                            CommandName="Cancel"
                                            RunAt="server"/>
                          </td>
                        </tr>
                      </table>                 
                    </EditItemTemplate>
                <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
                <EditRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
                <RowStyle BackColor="White" ForeColor="#330099" />
                <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
                <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
            </asp:FormView>
        </form>
    </body>
    </html>请指教!
      

  2.   

    是根据帮助中的例子改的,后面的firstname忘了改过来,只不过原来是在一个页显示,现在我该成了2页
      

  3.   

    时间紧,给你个例子吧!你慢慢看可以实现的,不过不是VB是C#
    --------------------
    gridView的
    <table border="0" cellpadding="0" cellspacing="0" style="width: 610px">
                <tr>
                    <td style="width: 98%">
                        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
                            AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SdsAddCompanys" PageSize="5" CellPadding="4" ForeColor="#333333" GridLines="None" Width="98%">
                            <Columns>
                                <asp:TemplateField HeaderText="编号" SortExpression="Id">
                                   
                                    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton1" ToolTip="点击修改" runat="server" CausesValidation="False" CommandName="Select" Text='<%# Bind("Id") %>'></asp:LinkButton>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="公司名称" SortExpression="CompanyName">
                                    
                                    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton2" runat="server" ToolTip="点击修改" CausesValidation="False" CommandName="Select" Text='<%# Bind("CompanyName") %>'></asp:LinkButton>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="操作" ShowHeader="False">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton6" runat="server" CausesValidation="False"
                                                CommandName="Delete" Text="删除"></asp:LinkButton>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <RowStyle BackColor="#EFF3FB" />
                            <EditRowStyle BackColor="#2461BF" />
                            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <AlternatingRowStyle BackColor="White" />
                        </asp:GridView>
                        <asp:SqlDataSource ID="SdsAddCompanys" runat="server" ConnectionString="<%$ ConnectionStrings:ConnStr %>"
                            DeleteCommand="DELETE FROM [AddCompanys] WHERE [Id] = @Id" InsertCommand="INSERT INTO [AddCompanys] ([Id], [CompanyName]) VALUES (@Id, @CompanyName)"
                            SelectCommand="SELECT [Id], [CompanyName] FROM [AddCompanys] WHERE ([ComType] = @ComType)"
                            UpdateCommand="UPDATE [AddCompanys] SET [CompanyName] = @CompanyName WHERE [Id] = @Id">
                            <DeleteParameters>
                                <asp:Parameter Name="Id" Type="Int32" />
                            </DeleteParameters>
                            <UpdateParameters>
                                <asp:Parameter Name="CompanyName" Type="String" />
                                <asp:Parameter Name="Id" Type="Int32" />
                            </UpdateParameters>
                            <SelectParameters>
                                <asp:Parameter DefaultValue="0" Name="ComType" Type="Int32" />
                            </SelectParameters>
                            <InsertParameters>
                                <asp:Parameter Name="Id" Type="Int32" />
                                <asp:Parameter Name="CompanyName" Type="String" />
                            </InsertParameters>
                        </asp:SqlDataSource>
                    </td>
                </tr>
                </table>
      

  4.   

    哈哈我fomView的不让放啦太长
    呵呵就是配置数据源时把那个GrideView里的ID传过来用Control选择上面你配置
    GridViewID然后添加就可以
      

  5.   

    lz_mike:
     我formview里的这段  <SelectParameters>
                    <asp:QueryStringParameter Name="AppID" QueryStringField="AppID" Type="Int32" />
                </SelectParameters>
    就是按照配置数据源时把那个GrideView里的ID传过来用Control选择上生成的
    但是就是保存不上
    能够编辑,说明没有问题了,但死活就是保存不到数据中