繁体   English   中英

C#动态设置DataRow

[英]C# Dynamic Set DataRow

我使用cassia.dll来管理终端服务器并编写简单的程序。 我将获得List属性,但不知道如何在Datarow中进行动态添加。

DataTable用于筛选。

 private void btn_GetTSServers_Click(object sender, EventArgs e)
        { 
        TSManager = new TerminalServicesManager();
        ITerminalServer ITS = TSManager.GetRemoteServer("localhost");
        ITS.Open();

        BSource = new BindingSource();
        DTable = new DataTable();

        Type t = ITS.GetSessions().First().GetType();
        PropertyInfo[] propinfo = t.GetProperties();

        foreach (PropertyInfo prop in propinfo)
        {
            DTable.Columns.Add(prop.Name);
        }

        foreach(ITerminalServicesSession session in ITS.GetSessions())
        {
           DTable.Rows.Add(session.ServerName, .. .. . .. etc How make Dynamic?)   
        }

        dataGridView1.DataSource = DTable;
}
        private void button1_Click(object sender, EventArgs e)
        {
            (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = textBox1.Text;
        }

您可以尝试执行以下操作:(伪代码,未经测试/优化)

foreach(var session in ITS.GetSessions())
{
    Type t = session.GetType();
    PropertyInfo[] propinfo = t.GetProperties();
    var list = new List<object>();
    foreach (PropertyInfo prop in propinfo)
    {
        list.Add(prop.GetValue(session, null));
    }
    DTable.Rows.Add(list.ToArray());   
}

暂无
暂无

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

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