我用DataGrid的模板列绑定了数据,我想在后台代码中用到绑定的 Text 值,怎么实现?
              <ItemTemplate>
                  <asp:Label
                       Text='<%# DataBinder.Eval(Container.DataItem, "Tax") %>'
                        ~~就是此处的Text值???                       runat="server"/>
               </ItemTemplate>

解决方案 »

  1.   

    <ItemTemplate>
          <asp:Label id="Label1" Text='<%# DataBinder.Eval(Container.DataItem, "Tax") %>' runat="server"/>
    </ItemTemplate>
    ******************************Label lb = (Label)DataGrid1.Items[0].FindControl("Label1");
    string tmp = lb.Text;
      

  2.   

    顶Eddie005(♂) №.零零伍 (♂) ,又晚了
      

  3.   

    你首先需要改成如下这样
    <ItemTemplate>
    <asp:Label id="lblTax" Text='<%# DataBinder.Eval(Container.DataItem, "Tax") %>'
    runat="server"/>
    </ItemTemplate>这样才可以在服务器端通过foreach来查找,例如:
    foreach(DataGridItem oDataGridItem in yourDataGrid.Items)
    {
    Label lblTax = oDataGridItem.FindControl( "lblTax" ) as Label;
    if( lblTax != null )
    {
                  //Access it as "lblTxt.Text"
    }
    }
      

  4.   

    非常感谢!!!
    想再问问,我想让用户可以自己设定datagrid列的显示顺序,可以将某列提前和退后,请问怎么实现?
      

  5.   

    偶记的孟子的http://dotnet.aspx.cc/里有可拖动列顺序的例子,楼主可以参考