DataGridView怎么绑定外键数据
如题!例如:有2个表表1:UserInfo--表名 UID-字段 UName-字段 URole-外键对应到UserRole的主键RID
UserRole--表名 RID-字段 RName-名称
DataGridView绑定了数据表UserInfo 那么怎么绑定URole呢?? --------------------编程问答-------------------- 一般是放个Comobox column,然后指定它的SelectedValue绑定到另一个表的ID字段. --------------------编程问答-------------------- 还有其他方法吗。。!! --------------------编程问答-------------------- 这种方法不是挺自然的吗?你还可以设置DataGridView里的Comobox只有点击它时才出现下拉框。而且这样子还支持双向绑定。。。 --------------------编程问答-------------------- 你用linq to sql,他里面的实体类都做了处理,你直接在做数据源的时候处理下就可以。给你贴出代码,参考下。 --------------------编程问答-------------------- 你说SQL查时就将两个表关联起来不就行了吗? --------------------编程问答-------------------- public void BindData()
{
NewsManagement nm = new NewsManagement();
tb_news[] nList = nm.getNewsInfo();
var source = from n in nList
select new
{
NewsID = n.NewsID,
NewsDate = n.NewsDate,
NewsTitle = n.NewsTitle,
NewsCategoryName = n.tb_newscategory.NewsCategoryName
};
this._newsInfoGridView.DataSource = source;
this._newsInfoGridView.DataBind();
} --------------------编程问答-------------------- 两种方式
1.用实体类,绑定外键对象
class UserInfo
{
string uid = "";
public string Uid
{
get { return uid; }
set { uid = value; }
}
string uname = "";
public string Uname
{
get { return uname; }
set { uname = value; }
}
URole role = new URole();
public URole Role
{
get { return role; }
set { role = value; }
}
}
查的时候把URole也查了填充进去
绑定字段的时候<%#Eval("Role.RName")%> ,这样就可以实现绑定了。
2. 先绑定UserInfo信息,URole先空着, 然后在RowDataBound事件里面再来绑定URole --------------------编程问答-------------------- 额。 。。 。看错。 。。。是DataGridView 。。 --------------------编程问答-------------------- 实在不行, 先用DataTable把数据都拼好了直接绑上去 --------------------编程问答-------------------- 联表查询..就好了 简单方便 --------------------编程问答-------------------- union连接查询
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex==2 && e.Value is int)
{
int i= (int)e.Value;
e.Value = "";
}
}
--------------------编程问答-------------------- 学习中,顶了!! --------------------编程问答-------------------- 表关联啊 --------------------编程问答-------------------- MD ,怎么就没有一个类似 rowdatabind的事件呢
补充:.NET技术 , C#