把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"不好吗?偏用"!"。又浪费我不少时间。。。
类似
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呢?
网上给的回答多是模版列。
<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"不好吗?偏用"!"。又浪费我不少时间。。。