最简单就是:
     <script runat="server" >
            string TransformName( string numberStr ){
                 string newNameStr = null;                 if( numberStr == "01" ){
                       newNameStr = "中国";
                 }
                 return newNameStr;
            }
     </script>Page Html:
     <asp:DataGrid runat="server" id="DataGrid1" >
           <Columns>
               <asp:TemplateColumn >
                     <ItemTemplate>
                           <%# TransformName( DataBinder.Eval( Container.DataItem,"columnName") )%>
                     </ItemTemplate>
               </asp:TemplateColumn >
           </Columns>
     </asp:DataGrid>

解决方案 »

  1.   

    唉,sql语句一个联接就可以轻松搞顶的还想那么复杂干吗,高效、使用、维护方便,干吗不用
      

  2.   

    thyong(样样不精):
          sql 好是好,但你想过可移植吗?
          而且现在XML 用做数据存储越来越多了呀!
      

  3.   

    thyong(样样不精):
    如何联接,给点代码,谢谢
      

  4.   

    SELECT Code FROM CodeTable JOIN AdressTable ON CodeTable.Code=AdressTable.code
      

  5.   

    SELECT AdressTable.Name FROM AdressTable JOIN CodeTable ON CodeTable.Code=AdressTable.code
      

  6.   

    有存编码的表,那样的话,小意思了,如果你使用VS编程的话,
    用数据适配器,很简单的就得到SQL语句
      

  7.   

    有两种方法
    1.在数据源里,
     str_sql = " SELECT CASE WHEN flag='01' THEN '中国' ELSE 'XX' END AS temps FROM mytable ";
    2.在datagrid的ItemDataBound事件里处理
    if ( ( e.Item.ItemType != ListItemType.Header ) && ( e.Item.ItemType != ListItemType.Footer ) )
    {
     string sel_spzt = e.Item.Cells[0].Text ;//datagrid的0列
      if ( sel_spzt == "0" )
         e.Item.Cells[0].Text = "中国";
      else 
         e.Item.Cells[0].Text = "XX";
    }