1

学生の出席を示す ASPxGridView を開発しています。そのために、sqlqry を渡して、1600 人の学生の中から 60 人の学生をフィルタリングしています。グリッド コントロールは、RollNo と Name の 2 つの列と 2 つのテンプレート列 (つまり、出席ステータス用の ASPxCombobox と備考用の ASPxTextBox) を持つデザイン環境で作成されます。デザイン ウィンドウのコードを次に示します。

[HTML]

<dx:ASPxGridView ID="dxgrd_StudentAttendance" runat="server" Theme="Glass" Width="800px"  AutoGenerateColumns="False" onprocesscolumnautofilter="dxgrd_StudentAttendance_ProcessColumnAutoFilter">

<Columns>                        
<dx:GridViewDataTextColumn FieldName="roll_no" VisibleIndex="1" Caption="Roll No" Width="70px">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Name" VisibleIndex="2" Caption="Name of the Student" Width="300px">
</dx:GridViewDataTextColumn>

<dx:GridViewDataColumn FieldName="Attendance" VisibleIndex="3" Caption="Attendance Status" Width="100px">
<DataItemTemplate>

                            <dx:ASPxComboBox ID="dxcb_AttStatus" runat="server" ValueType="System.String" Theme="Glass" Width ="100px">
                                <Items>
                                    <dx:ListEditItem Text="Present" Value="P" Selected ="true" />
                                    <dx:ListEditItem Text="Absent" Value="A" />
                                    <dx:ListEditItem Text="Leave" Value="L" />
                                    <dx:ListEditItem Text="OnDuty" Value="O" />
                                </Items>
                            </dx:ASPxComboBox>

                        </DataItemTemplate>

                    </dx:GridViewDataColumn>


                    <dx:GridViewDataColumn FieldName="Remarks" VisibleIndex="4" Caption="Remarks" Width="230px">
                        <DataItemTemplate>
                            <dx:ASPxTextBox ID="dxtxt_Remarks" runat="server" ValueType="System.String" Theme="Glass" Width="230px"/>
                        </DataItemTemplate>                        
                    </dx:GridViewDataColumn>
                </Columns>
                <Settings ShowFilterRow="True" />
                <SettingsBehavior AllowFocusedRow="True" />
                <SettingsPager 
                    NumericButtonCount="90" 
                    PageSize="90" 
                    RenderMode="Lightweight">
                </SettingsPager>
                <Settings ShowFooter="True" />
                <Styles>
                    <Header HorizontalAlign="Center">
                    </Header>
                </Styles>
                <TotalSummary>
                    <dx:ASPxSummaryItem 
                        FieldName="Name" 
                        SummaryType="Count" ShowInColumn="Name"/>                    
                </TotalSummary>
            </dx:ASPxGridView>

C# コード ウィンドウでは、構成され、コード ウィンドウに入力されたデータベースを以下に示します。

【C#コード】

SqlDataSource sqlds_StudentAttendanceSection = new SqlDataSource();
SqlDataSource sqlds_StudentAttendanceDept = new SqlDataSource();

sqlds_StudentAttendanceSection.SelectCommand = String.Format("Select b.roll_no, b.Name from tbl_AcademicYear a, tbl_Student_Master b, tbl_Dept_Master c," +
                                                                " tbl_Semester_Master d, tbl_Subject_Master e, tbl_Subject_Dept_Assigned f, tbl_Scheme_master g" +
                                                                " where a.AcademicYear=b.AcademicYear and b.Dept_Code=c.Dept_Code and d.Semester_ID=f.semester_id" +
                                                                " and e.Sub_Code=f.Sub_Code and c.Dept_Code = f.dept_code and g.Sch_Code=a.Sch_Code and" +
                                                                " e.Sub_Code='{0}'and a.AcademicYear='{1}'and c.Dept_Code='{0}'order by b.Roll_No",
                                                                   dxcbSubject.Value,
                                                                   dxcbAcademicYear.Text,
                                                                   dxcbDepartment.Value);
                sqlds_StudentAttendanceDept.ConnectionString = frmAttendance.strCon;
                dxgrd_StudentAttendance.DataSource = sqlds_StudentAttendanceDept;
                dxgrd_StudentAttendance.DataBind();

問題は、テンプレート コントロールなしで aspxgridview にデータを表示するのにかかる時間は許容範囲内 (1 秒または 2 秒) です。ただし、テンプレート コントロールを使用すると、aspxgridview にデータを表示するのにかかる時間は約 15 ~ 20 秒です (許容できません)。提供されたヘルプや提案は、私にとって大きな助けになります。

ありがとうございました

4

1 に答える 1

1

これを使用できます

AspxScheduler コントロールとグリッドビュー

このような

http://www.tanvtech.com/Products/SchoolStudentScheduler.aspx

于 2012-12-08T01:21:49.413 に答える