默认情况下,在编辑模式下自动生成网格视图和所有单元格

时间:2014-02-18 21:21:07

标签: asp.net vb.net gridview

所以我有一个绑定到SQL数据源存储过程的gridview。存储过程返回一个数据透视表,其中许多列在运行时之前是未知的。因此,我需要自动生成列。

gridview旨在允许类似Excel的数据更新。因此,目标是将网格加载为文本框。我知道如果要在我的aspx页面上声明列,我可以创建模板列并以这种方式处理它们的可见性。

所以我相信我需要一种方法以编程方式将所有列设置为模板字段(不知道列名称),或者我需要找到一种方法,通过该方法可以“切换开关”#34;并让一切都可以编辑。

提前致谢!

    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSourceExcelGridTest">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSourceExcelGridTest" runat="server" ConnectionString="<%$ ConnectionStrings:WebAppsConnectionString %>" SelectCommand="spJobForecastingGetEmployeesByDepartmentAndProject_v1" SelectCommandType="StoredProcedure" UpdateCommand="spJobForecastingUpdateHours" UpdateCommandType="StoredProcedure">
    <SelectParameters>
        <asp:Parameter Name="DepartmentNumber" Type="String" DefaultValue="13211" />
        <asp:Parameter Name="ProjectNumber" Type="String" DefaultValue="13211" />
        <asp:Parameter Name="startDate" Type="DateTime" DefaultValue="2/21/2014" />
    </SelectParameters>
    <UpdateParameters>
        <asp:Parameter Name="DepartmentNumber" Type="String" />
        <asp:Parameter Name="ProjectNumber" Type="String" />
        <asp:Parameter Name="Alias" Type="String" />
        <asp:Parameter Name="WorkWeek" Type="DateTime" />
        <asp:Parameter Name="WorkHours" Type="Int32" />
    </UpdateParameters>
</asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

试试这个: 更新代码

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSourceExcelGridTest">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSourceExcelGridTest" runat="server" ConnectionString="<%$ ConnectionStrings:WebAppsConnectionString %>" SelectCommand="spJobForecastingGetEmployeesByDepartmentAndProject_v1" SelectCommandType="StoredProcedure" UpdateCommand="spJobForecastingUpdateHours" UpdateCommandType="StoredProcedure">
<SelectParameters>
    <asp:Textbox ID="DepartmentNumber" DefaultValue="13211" text='<%# Eval("DepartmentNumber") %>'></asp:TextBox> 
    <asp:Textbox ID="ProjectNumber" Type="String" DefaultValue="13211" Text='<%# Eval("ProjectNumber") %>'></asp:TextBox> 
    <asp:Textbox ID="startDate" Type="DateTime" DefaultValue="2/21/2014" Text='<%# Eval("startDate") %>'></asp:TextBox> 
</SelectParameters>
<UpdateParameters>
    <asp:Textbox ID="DepartmentNumber" Type="String" text='<%# Eval("DepartmentNumber") %>'></asp:TextBox>
    <asp:Textbox ID="ProjectNumber" Type="String" text='<%# Eval("ProjectNumber") %>'></asp:TextBox>
    <asp:Textbox ID="Alias" Type="String" text='<%# Eval("Alias") %>'></asp:TextBox>
    <asp:Textbox ID="WorkWeek" Type="DateTime" text='<%# Eval("WorkWeek") %>'></asp:TextBox>
    <asp:Textbox ID="WorkHours" Type="Int32" text='<%# Eval("WorkHours") %>'></asp:TextBox>
</UpdateParameters>
</asp:SqlDataSource>