自定义DropDownList绑定数据

     很多时候,我们在为DropDownList加载数据时,采用前台设置ListItem来完成,但是当数据量十分大的时候,该方式显然有很大的不足,对大型数据来说,要加载到DropDownList中去,一般有两种方式,一种是将数据存储到数据库中,然后查询数据库的数据,实现绑定,另一种方式是直接在后台用程序来实现。

     第一种方式主要针对数据量比较大,而且数据之间十分凌乱,没有规律可循的情况,该方式十分简单,这里就不做介绍,第二种方式主要是针对数据量十分大 ,而且数据比较整齐的情况,这里主要介绍两种方式来实现。

    第一种,自定义一个DataTable,然后将该DataTable作为DropDownList的数据源,具体实现代码如下:

DataTable DataTable1 = new DataTable();

        DataColumn text 
= new DataColumn();
        text.DataType 
= System.Type.GetType("System.String");
        text.ColumnName 
= "Text";
        DataTable1.Columns.Add(text);

        DataColumn value 
= new DataColumn();
        value.DataType 
= System.Type.GetType("System.String");
        value.ColumnName 
= "Value";
        DataTable1.Columns.Add(value);

        DataRow DataRowNull 
= DataTable1.NewRow();
        DataRowNull[
"Text"= "";
        DataRowNull[
"Value"= "";
        DataTable1.Rows.Add(DataRowNull);

        
for (int i = 1949; i < 2049; i++)
        
{
            DataRow DataRow1 
= DataTable1.NewRow();
            DataRow1[
"Text"= i;
            DataRow1[
"Value"= i;
            DataTable1.Rows.Add(DataRow1);
        }


        cbostrMontReportYear.DataSource 
= DataTable1;
        cbostrMontReportYear.DataTextField 
= "Text";
        cbostrMontReportYear.DataValueField 
= "Value";
        cbostrMontReportYear.DataBind();

      第二种方式,是直接往DropDownList中添加项目,利用DropDownList.Items.Add()来实现,具体代码如下:
        ListItem ListItem1;
        
for (int i = 1949; i < 2049; i++)
        
{
            ListItem1 
= new ListItem();
            ListItem1.Text 
= i.ToString();
            ListItem1.Value 
= i.ToString();

            cbostrMontReportYear.Items.Add(ListItem1);
        }

      第一次写技术文章,有误的地方,请指出。
posted on 2008-02-01 12:55  雷光斌(gis)  阅读(1202)  评论(1)    收藏  举报