当前位置:  开发笔记 > 编程语言 > 正文

在C#asp.net中将数据表的单行绑定到detailsview的最简单方法是什么?

如何解决《在C#asp.net中将数据表的单行绑定到detailsview的最简单方法是什么?》经验,为你挑选了1个好方法。

我目前将行复制到一个空的数据表并绑定那个,但肯定有更好的方法...



1> Marc Gravell..:

您不需要绑定数据表 - 您只需要像list/enumerable这样的东西.例如,如果您知道行号:

DataRowView row = dt.DefaultView[1]; // second row
detailsView1.DataSource = new DataRowView[] {row};
detailsView1.DataBind();

请注意,我们必须使用DataRowView(而不是DataRow)才能获得仅运行时属性(即列中的数据).如果你有DataRow,这种方法可以很容易地包含在实用程序方法中,例如扩展方法:

public static DataRowView[] ForBinding(this DataRow row)
{
    foreach (DataRowView rowView in row.Table.DefaultView)
    {
        if (ReferenceEquals(rowView.Row, row))
        {
            return new DataRowView[] { rowView };
        }
    }
    throw new ArgumentException("Row not found in the default view", "row");
}

有:

detailsView1.DataSource = row.ForBinding();
detailsView1.DataBind();

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有