2011-06-08 91 views
0

我在DataGrid中填充了按钮,现在我希望它们显示在数据的右侧而不是默认位置(左侧)。我怎样才能做到这一点?C#关于数据网格的问题

谢谢

<asp:DataGrid runat="server" ID="myDataGrid" 
BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" 
GridLines="None"> 
<Columns> 
    <asp:TemplateColumn> 
     <ItemTemplate> 
      <asp:Button runat="server" Text="Delete"/> 
     </ItemTemplate> 
    </asp:TemplateColumn> 
</Columns> 

PS:我的数据绑定到一个数组

myDataGrid.DataSource = vals; 
    myDataGrid.DataBind(); 
+0

什么类型的数组的? – 2011-06-08 23:56:19

+0

只是字符串字符串[]数组 – user710502 2011-06-09 00:06:46

回答

1

你可以这样

<Columns> 
    <asp:TemplateColumn> 
     <ItemTemplate> 
      <asp:Label ID="someLabelId" runat="server" 
               Text='<%# Container.DataItem %>' /> 
     </ItemTemplate> 
    </asp:TemplateColumn> 

    <asp:TemplateColumn> 
     <ItemTemplate> 
      <asp:Button runat="server" Text="Delete"/> 
     </ItemTemplate> 
    </asp:TemplateColumn> 
</Columns> 

按钮列之前定义字符串数组一列,并设置AutoGenerateColumns="false"DataGrid

<asp:DataGrid runat="server" ID="myDataGrid" AutoGenerateColumns="false" 
+0

这就是它,非常感谢。最后一个问题如何针对按钮进行编码? – user710502 2011-06-09 00:20:27

+0

您可以在'Click'事件处理程序中引入'OnClick'属性或使用'OnCommand'属性并定义'Command'事件处理程序。 – 2011-06-09 00:25:22

0

使用ItemStyle Horizo​​ntalAlign = “右” 作为定义的:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.itemstyle.aspx

尝试:

&ltasp:TemplateColumn ItemStyle-HorizontalAlign="Right">
+0

我不认为OP是在谈论列的对齐方式。他/她首先需要自动生成的列,然后是按钮列。默认情况下,按钮列出现在左侧,所有自动生成的列出现在右侧。 – 2011-06-09 00:03:01

+0

巴拉你是正确的,正是我所需要的 – user710502 2011-06-09 00:03:46

+0

嗯..所以事实证明,他不想要的 - 你接受的解决方案没有使用autogen'd列,除非我错过了什么?这是列顺序的一个简单情况?我想我读得太多了:) – 2011-06-09 00:28:40