在一个页面上我想用一个datagrid显示一个表所有记录问题,每条记录有个用户ID字段,每条记录的ID是唯一的,每个ID对应另一个表中有个用户名,我现在想在这个dataGrid显示的是用户名,而不显示ID号,请问怎么实现啊我在显示该表记录是用的是绑定的方法,可绑定后想给每行中的ID都对应用户名,怎么能实现啊
请各高手兄弟有什么方法能实现啊

解决方案 »

  1.   

    ???????????????????????????
    楼上兄弟及再看此贴的兄弟们,能给个例子吗
    或者按我所说的问题你可随便举个简单的例子啊
    不然关说我可能还是实现不了再顺待又有一个问题要问:
    如果我所要显示的该表中有个Flag自段,其值是true和false两种,现在我想给所有记录用DataGrid显示时,给该Flag字段想处理一下,就是如果该字段的值是True时,在页面上显示该字段值时显示为:"真",如果为false时显示:"假".请问怎么实现啊???也就是该字段在表格中显示值时不显示True和false了
    ???????????????????????????????????
      

  2.   

    1.
    你的数据库结构说的不清楚,我大概回答一下
    比如你的数据记录表为 a:
    字段:
     用户Id , 
     内容,
    用户表 为 b:
     用户id,
     姓名,
    你可以用这样的sql语句查出
     
    select b.姓名,b.用户id,a.内容 from a join b on a.用户id=b.用户id where 查询条件
    2.
    select case flag when 'true' then '真' when 'false' then '颊' end ......
      

  3.   

    <ItemTemplate>
    <asp:Label id=Label1 runat="server" Width="40px" Text='<%# ((bool)DataBinder.Eval(Container, "DataItem.falg"))?"<FONT face=宋体 color=green>真</font>":"<FONT face=宋体 color=red  >假</font>" %>'>
    </asp:Label>
    </ItemTemplate>
      

  4.   

    select b.Name as Name,a.mClassid as mClassid from Photo_Class1 a,Photo_Class b where a.Classid = b.Classid order by a.mClassid desc
      

  5.   

    对两个表进行联合查询即可,方法如 hdt(接分接出个星星) 所说!
      

  6.   

    hdt(接分接出个星星)已说清楚了
      

  7.   

    楼上兄弟们?????????????
    我上面的第二个问题:
    如果我所要显示的该表中有个Flag字段,是int型.其值是1和2两种,现在我想给所有记录用DataGrid显示时,给该Flag字段想处理一下,就是如果该字段的值是1时,在页面上显示该字段值时显示为:"真",如果为2时显示:"假".请问怎么实现啊???也就是该字段在表格中显示值时不显示1和2了
    ???????????????????????????????????
    可我按照hdt(接分接出个星星)兄弟的做法后
    出现错误是:将varchar值"真"转换为int型列时发生语法错误
    请问怎么解决啊????????????????????????????????
      

  8.   

    Select Case Flag When 1 Then '真' Else '假' End From TabelName
      

  9.   

    使用模版列
    在模版列中丢一个Label
    然后根据某列的值改变Label的文本
    这样不仅可以达到你的目的
    甚至可以动态控制某些列的Visable,Enable等
    例:
    private void dgFuturesDic_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    try
    {
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {

    Label pLabel = (Label)e.Item.FindControl("lblState");

    switch(int.Parse(e.Item.Cells[4].Text))       
    {         
    case 1:
    pLabel.Text = "已下达指令";
    break;
    case 2: 
    pLabel.Text = "已提交建议";
    break;
    case 3:
    pLabel.Text = "已审批";
    break;
    case 4:
    pLabel.Text = "已执行";
    break;
    default:
    break;
    }
    }
    }
    catch
    {
    }
    }