比如DataGrid中的每一行存的是一个学生的基本信息.DropDownList中存所有班主任的名字.来自不同的表.默认情况下显示该学生原来班主任的名字.但也可以为他选其他的班主任.
在网上看了好多关于动态绑定的问题,好象都行不通呀.
顺便再问一个关于NHibernate的问题.比如学生属于某一班主任的Items属性.两个表做了关联.能否通过 班主任.Items 就可以绑定其下的所有学生到一个DataGrid中.不用再去查属于这个班主任的学生的列表.
你上面说的都可以实现,而且方法不止一种,可以参考datalist绑定datagrid
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
getclassnews();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void getclassnews()
{
System.Data.SqlClient.SqlConnection conn=new SqlConnection(connstr);
System.Data.SqlClient.SqlDataAdapter sda=new SqlDataAdapter();
conn.Open();
sda.SelectCommand=new SqlCommand("proc_class",conn);
sda.SelectCommand.CommandType=CommandType.StoredProcedure;
DataSet ds=new DataSet();
sda.Fill(ds,"table1");
this.DataGrid1.DataSource=ds.Tables["table1"].DefaultView;
DataGrid1.DataBind();
}
public DataSet Name(string name)
{
System.Data.SqlClient.SqlConnection conn=new SqlConnection(connstr);
System.Data.SqlClient.SqlDataAdapter sda=new SqlDataAdapter();
conn.Open();
sda.SelectCommand=new SqlCommand("proc_name",conn);
sda.SelectCommand.CommandType=CommandType.StoredProcedure;
// sda.SelectCommand.Parameters.Add(new SqlParameter("@classname",SqlDbType.Char));
sda.SelectCommand.Parameters.Add(new SqlParameter("@classname",SqlDbType.Char));
sda.SelectCommand.Parameters["@classname"].Value=name.Trim();
DataSet ds2=new DataSet();
sda.Fill(ds2);
return ds2;
}