我有一个包含两个数据表的数据集。如何从数据表中获取一组行
在第一数据表我有EMPNO,EmpName和EmpAddress
在第二数据表我有EMPNO,EmpJoindate,EmpSalary。
我想要的结果,我应该表现出EmpName作为标签和他/她在GridView
我填充第一表数据列表,并有EMPNO作为datakeys细节。
然后,我填充数据表里面有EmpNo,EmpJoinDate和EmpAddress里面的gridview。
我的代码是什么样的一些如下
Datalist1.DataSource = dt;
Datalist1.DataBind();
for (int i = 0; i < Datalist1.Items.Count; i++)
{
int EmpNo = Convert.ToInt32(Datalist1.DataKeys[i]);
GridView gv = (GridView)Datalist1.FindControl("gv");
gv.DataSource = dt2;
gv.DataBind();
}
现在我有一个问题,我必须结合相应的员工到GridView的详细信息。而上面的代码将显示gridview中所有员工的所有细节。
如果我们使用IEnumerable,我们给出一个条件,其中(a => a.eno = EmpNo),并将该列表绑定到gridview。
如何在数据表中执行此操作。
请不要给我建议更改导致两个表中的值的存储过程,因为这是不能更改的。 我必须在现有的对象中找到解决方案。
问候 喝骂
嗨, 我修改程序如下 伊戈尔,代替的DataRelation,(我的TL不赞成的话)我用了IEnumerable
DataTable的DT =新的DataTable() ; dt.Columns.Add(“EmpNo”); (int i = 65; i < 70; i ++) { DataRow dr = dt.NewRow(); dr [“EmpNo”] = i.ToString(); dt.Rows.Add(dr); }
DataTable dt2 = new DataTable();
dt2.Columns.Add("EmpNo");
dt2.Columns.Add("EmpName");
for (int i = 65; i < 70; i++)
{
DataRow dr = dt2.NewRow();
dr["EmpNo"] = i.ToString();
dr["EmpName"] = Convert.ToChar(i);
dt2.Rows.Add(dr);
}
Datalist1.DataSource = dt;
Datalist1.DataBind();
IEnumerable<DataRow> sequence = dt2.AsEnumerable();
for (int i = 0; i < Datalist1.Items.Count; i++)
{
string EmpNo = Datalist1.DataKeys[i].ToString();
string strExpr = "EmpNo =" + EmpNo.ToString();
GridView Gridview1 = (GridView)Datalist1.Items[i].FindControl("Gridview1");
Gridview1.DataSource = sequence.Where(t => t.Field<string>("EmpNo") == EmpNo);
Gridview1.DataBind();
}
我Designer.aspx是如下
<asp:DataList ID="Datalist1" runat="server" DataKeyField="EmpNo">
<ItemTemplate>
<asp:GridView ID="Gridview1" runat="server">
</asp:GridView>
</ItemTemplate>
</asp:DataList>
在执行我不遵守任何结果,我看到屏幕上的错误,
RowError HasErrors
我包含在gridview中的绑定字段控件 为
<asp:GridView ID="Gridview1" AutoGenerateColumns="true" runat="server">
<Columns>
<asp:BoundField DataField="EmpNo" />
</Columns>
</asp:GridView>
并执行时,它会抛出一个错误,指出 在所选数据源上找不到名称为'EmpNo'的字段或属性。
我查了“序列”使用调试模式,它的阵列, 我已经强调过值,
所以我要去哪里错了
- 结果视图中展开的结果查看将枚举了IEnumerable
- [0] {}的System.Data.DataRow的System.Data.DataRow HasErrors假布尔
- ItemArray {对象[2]}对象[] [0] “65” 对象字符串{} [1] “A” 对象字符串{} RowError “” 串 RowState的新增System.Data.DataRowState
- 表{} System.Data.DataTable
- 静态成员
- 非公共成员
看到我的最新答案。 – garik 2010-03-13 10:47:09