xiyun

导航

数据源EPMSSqlDataSource的使用

EPMSGridView控件的使用

   首先,区别与微软的GridView, EPMSGridView控件主要内容分为两大块:页面绑定列(ext:EPMSGridView)和数据源(ext:EPMSSqlDataSource)

l  ext:EPMSGridView

<ext:EPMSGridView

                runat="server"

                ID="gvTD"

                DataSourceID="sdsTD"       <!---------------对应的数据源--------------->

                AllowPaging="True"

                AllowSorting="false"

                PageSize = "30"           <!-------------页面每页显示的行数------------->

                AutoGenerateColumns="False"

                Width="100%"            <!---------------列表宽度------------------->

                OnRowCreated="gvTD_RowCreated"    <!---------表头格式处理函数--------------->

                DataKeyNames="Year,WeekNum,ProjID">

            <Columns>

               <asp:TemplateField HeaderText="室外宏基站#总站数">

                    <headerstyle wrap="false" />

                    <ItemStyle HorizontalAlign="Right" />

                    <edititemtemplate>

                    <asp:TextBox runat="server" reg="int+0"  check  lt="32767" maxlength="5"   

extraMsg="室外宏基站总站数" 

                        Text='<%# Bind("OuterTotalStationNum") %>'

                        id="txtOuterTotalStationNum">

                    </asp:TextBox>

                    </edititemtemplate>

                    <itemtemplate>

        <asp:Label runat="server" Text='<%# Bind("OuterTotalStationNum") %>'></asp:Label>

                    </itemtemplate>

                </asp:TemplateField>

<asp:BoundField DataField="CompanyName" HeaderText="市公司#市公司" ReadOnly="true" >

                    <headerstyle wrap="false" />

                    <itemstyle wrap="False" />

                </asp:BoundField>

               </columns>

</ext:EPMSGridView>

 

上面提供了两种绑定数据的方法:asp:BoundField 和asp:TemplateField ,而EPMSGridView 提供了以下方法来绑定数据源中的数据: ,如果页面列表没有编辑功能,则可以通过BoundField来绑定数据库的数据,如果需要在页面上编辑修改数据库中的数据,则一般采用TemplateField的方法(上述代码中的红色部分为编辑时的一些校验信息)(如 表示>=0  <=32767最大长度不可以超过5位数的整形数据)。

 

l  ext:EPMSSqlDataSource

下面就用一个实例来讲解在使用EPMSSqlDataSource需要主要的问题。

<ext:EPMSSqlDataSource

                ID="sdsTD"

                runat="server"

                CancelSelectOnNullParameter="False"

                ConnectionString="<%$ ConnectionStrings:Report %>" 

                   <!---------------连接到数据库:report(web.config中配置-------------->

                EnablePaging="True"      <!---------------是否分页显示,默认为10行一列---------------> 

                MaximumRowsParameterName="maximumRows"

                SelectCommand="SELECT td.[Year],td.WeekNum,td.Projid,pp.Name as tdppname,

                               …….

 where @SearchCondition@"

                   SelectCountQuery="SELECT count(*) ……… where @SearchCondition@"

              UpdateCommand="UPDATE TDProjectWeekReport

                              ……………

                            WHERE [Year] = @Year AND WeekNum = @WeekNum AND ProjID = @ProjID"  

               SortParameterISNullColumnName="SortOrder"

                  StartRowIndexParameterName="startRowIndex" >

            <Patterns>

                <ext:SearchGroup DefaultCondition="1=1" Name="SearchCondition">

                    <ext:SearchPattern Name="_Year" Pattern="td.[Year] = '{0}'"  />

                    <ext:SearchPattern Name="_Week" Pattern="td.WeekNum = '{0}'" />

                    <ext:SearchPattern Name="CompanyID" Pattern="td.CompanyID = '{0}'"  />

                    <ext:SearchPattern Name="PProjID" Pattern="td.PProjID = '{0}'" ReplaceQuote="false" />

                </ext:SearchGroup>

            </Patterns>

            <SelectParameters>

                <asp:ControlParameter ControlID="idYear" Name="_Year" PropertyName="SelectedValue" />

                <asp:ControlParameter ControlID="idWeek" Name="_Week" PropertyName="SelectedValue" />

                <asp:ControlParameter ControlID="ddlCompany" Name="CompanyID" PropertyName="SelectedValue" />

                <asp:ControlParameter ControlID="ddlName" Name="PProjID" PropertyName="SelectedValue" />

            </SelectParameters>

        </ext:EPMSSqlDataSource>

   注意:

  第一:在数据源中,主要是数据参数Patterns,即@SearchCondition@就是通过它的参数通过“and”将SearchPattern中的Pattern连接起来。而@SearchCondition@的默认值是

“SearchGroup DefaultCondition="1=1" Name="SearchCondition"”;

而SearchPattern Name="_Year" Pattern="td.[Year] = '{0}'"中的_Year则是

ControlParameter ControlID="idYear" Name="_Year" PropertyName="SelectedValue"获得,即_Year的值是控件idYear对应的值。

  第二:SortParameterISNullColumnName="SortOrder"是表示数据源的排序参数是SortOrder,这个排序的作用是在分页中需要使用到。

posted on 2010-05-23 10:50  沙漠之孤  阅读(368)  评论(0编辑  收藏  举报