繁体   English   中英

将自定义对象转换为DataRowView C#WinForms

[英]Convert Custom Object To DataRowView C# WinForms

我有一个自定义对象,如下所示

public partial class _AccessionType
{
    private string accessionIdField;
    private string docUrlField;
    /// <remarks/>
    public string AccessionId
    {
        get
        {
            return this.accessionIdField;
        }
        set
        {
            this.accessionIdField = value;
        }
    }
    public string DocUrl
    {
        get
        {
            return docUrlField;
        }
        set
        {
            docUrlField = value;
        }
    }
}

上面的对象用作DataGridView的数据源。 我想将上述对象转换为DataRowView。

我该怎么做 ??

您需要创建_AccessionType的列表,并将其分配给网格视图的DataSource属性。

List<_AccessionType> accessionTypes= new List<_AccessionType>();    
// Add objects to the list
gridView1.DataSource = accessionTypes;   
gridView1.DataBind();

在gridView1的设计器中,您需要右键单击>编辑列并添加绑定列。 为每个绑定的列提供一个合适的HeaderText,并在DataField中分配所需的_AccessionType成员属性(例如DocUrl)

您无法将对象从gridView.DataSource检索回到List <_AccessionType>,甚至不能从GridViewRow检索到_AccessionType。 为了获取网格视图行的值,您需要在网格视图中为需要取回的值定义数据键。

例如

<asp:GridView ID="gridView1" runat="server" 
            AutoGenerateColumns="False" DataKeyNames="AccessionId, DocUrl" EnableViewState="true"> 
... 
</asp:GridView>

在代码的后面,当您遍历DataGrid或在相关的数据网格事件处理程序中时,可以检索回这些值:

foreach (GridViewRow accessionRow in this.gridView1.Rows)
{
    int accessionID = Convert.ToInt32(gridView1.DataKeys[accessionRow.RowIndex]["AccessionId"]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM