日期:2014-05-18 浏览次数:21043 次
select table2.name from table1,table2 where table1.id = table2.id
------解决方案--------------------
1.两个表关联进行查询然后显示
2.用模板列,里面设置一个隐藏的控件,付值给ID,然后在datagrid的绑定事件中,查找到该模板列对应的隐藏控件,获取ID值,去查询数据库,然后付值给一个显示的lable
并隐藏开始付值ID的lable
<asp:TemplateField HeaderText="名称">
<ItemTemplate>
<asp:lable id="ValueID" runat="server" Text='<%# Eval("ID") %>' />
<asp:lable id="ValueName" runat="server" Text='' />
</ItemTemplate>
</asp:TemplateField>
C#代码
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Lable lb1=(Lable))e.Row.Cells[0].FindControl("ValueID");
//查询数据库值,得到ValueName;
string name="数据库查询的值";
Lable lb2=(Lable))e.Row.Cells[0].FindControl("ValueName");
lb2.Text=name;
lb1.Visble=false;
}
}
第二种方式效率极差不建议使用,但是对于1,或者0这样的值,要求显示成对应的"是"或者"否"时比较好