65.9K
CodeProject 正在变化。 阅读更多。
Home

DataList控件,可以根据您的需求构建DataList...

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (4投票s)

2007年3月24日

GPL3

2分钟阅读

viewsIcon

29194

downloadIcon

500

自定义 DataList 控件

Screenshot - screenshot.jpg

引言

这个控件将构建一个动态的DataList控件,您可以为其提供自定义属性,例如可以选择标题CSS样式、列宽、希望在哪个列上放置排序功能,并根据设置的属性,您会发现一个带有每行悬停效果且在所需列上具有排序功能的漂亮的DataList将被显示。

要使其工作,您只需要提供一个包含要显示数据的DataTable,并设置DataList的一些属性

属性

要根据您的需求使用此控件,请设置以下属性...

1. 列数 -- 您可以选择性地指定数据表中将有多少列。

2. 排序列 -- 您需要在哪些列上需要排序功能

3. 排序状态 -- 最初列的排序状态是什么,例如 ASC 或 DESC

4. 列宽 -- 您可以指定每列的宽度..

5. 降序排序图像 -- 您可以提供降序排序的图像..

6. 升序排序图像 -- 您可以提供升序排序的图像..

7. 表边框 -- 您可以指定DataList的边框宽度

8. 单元格对齐 -- 单元格的对齐方式..

9. 标题CSS类 -- DataList标题的CSS..

10. ItemRowStyle -- Item模板的CSS..

11. AlterItemRowStyle -- AlterItem模板的CSS..

12. 添加序号 -- 如果您希望将序号作为第一列,请设置为 true...

13. 每页大小 -- 设置将作为页面计数行显示的行数...

使用代码

要使用此代码,只需添加与本文附件的DLL文件引用即可。

在您的代码中,您只需要设置此控件的一些属性,如本示例代码所示,并且您需要提供包含要在DataList中显示的数据的DataTable。

首先将这些行添加到web.config...

//in web.config file add these lines...
 <pages>
   <controls>
    <add namespace="MyDataList" assembly="MyDataListControl" 
        tagPrefix="myDL" />
   </controls>
 </pages>
 
//write this where you want to put this custome DataList...
<myDL:myControl1 runat="server" /> 

//now you can set some properties of control like,
 dtContact = dSet.Tables["Contact"];
                if (dtContact != null)
                {
                    datalistTest.Columns = dtContact.Columns.Count;
                    datalistTest.dataTable = dtContact;
                    datalistTest.tableBorder = 1;                    
                    datalistTest.cellAlign = "left";

                    bool[] sortColumns = new bool[dtContact.Columns.Count];
                    int[] sortState = new int[dtContact.Columns.Count];
                    int[] columnwidths = new int[dtContact.Columns.Count];
                    for (int i = 0; i < dtContact.Columns.Count; i++)
                    {                                                   
                        sortColumns[i] = true;                       

                        if (i == 0)
                             columnwidths[i] = 60;
                        else
                             columnwidths[i] = 100;

                        if(i==1)
                            sortState[i] = 1; //for down image..
                        else
                            sortState[i] = 2; // for up image...
                    }
                    datalistTest.sortingColumns = sortColumns;
                    datalistTest.sortingState = sortState;
                    datalistTest.columnWidths = columnwidths;

                    datalistTest.AlterItemRowStyle = "Alternate";
                    datalistTest.headerCSSClass = "GridHeader";
如果您不明白如何使用它,请问我,我会向您解释,此控件仍在建设中以提供更好的功能。

历史

程序集版本 1.0.0.0

© . All rights reserved.