把ArrayList绑到DataGrid。。。

这个ArrayList只有一个string类型的项在里面。

类似
    ArrayList arraylist = new ArrayList();

    arraylist.add("Item 0");

    arraylist.add("Item 2");

    arraylist.add("Item 3");

    arraylist.add("Item 4");

    arraylist.add("Item 5");

    arraylist.add("Item 6");


代码上绑定的方法很简单,大家都会。

DataGrid1.DataSource=arraylist;
DataGrid1.DataBind();

如果让他自动生成列,会生成出一个Item列出来,显示正常。

现在问题就来了,我怎么才能自己在前面显示出这个string呢?

网上给的回答多是模版列。

<asp:TemplateColumn HeaderText="标题">
<ItemTemplate>
     <%# Container.DataItem %>
</ItemTemplate>
</asp:TemplateColumn>

这种方法固然很可以,但我要用绑定列该怎么办?搜索了一上午没有结果。用item提示找不到列。只好用Reflector看看了自动生成列的代码。核心部分如下:

                       BoundColumn column1 = new BoundColumn();
                        column1.TrackViewState();
                        column1.HeaderText = "Item";
                        column1.DataField = BoundColumn.thisExpr;
                        column1.SortExpression = "Item";
                        column1.SetOwner(this);
                        list1.Add(column1);
看到了吧,DataField = BoundColumn.thisExpr。这是个静态属性,值是!。所以,绑定列应该用!....

如下:
<asp:BoundColumn DataField="!" HeaderText="标题">
    <HeaderStyle HorizontalAlign="Center" Width="240px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>

成功!。真搞不懂老外在想什么,"Item"不好吗?偏用"!"。又浪费我不少时间。。。
posted @ 2006-06-13 11:19 第一控制.NET 阅读(297) 评论(2)  编辑 收藏 所属分类: 3.Net1.1

  回复  引用    
#1楼 2007-06-19 10:42 | woshilijialiang [未注册用户]

烟→抽走了我的灵魂 妞→泡走了我的青春 酒→醉掉了我的自尊 网→埋葬了我的人生
  回复  引用    
#2楼 2007-06-19 10:42 | woshilijialiang [未注册用户]
rhbwrynb hr

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: