【问题标题】:Show xml result of WebSerive in DataGridView在 DataGridView 中显示 WebServe 的 xml 结果
【发布时间】:2021-04-17 19:20:12
【问题描述】:

我编写了一个应用程序,通过我公司的 Web 服务检查 Windows From 的序列号历史记录。 Web服务返回的结果如下:

<NewDataSet>
<TestHistory>
    <StartTime>2021-01-09T17:37:38+07:00</StartTime>
    <StopTime>2021-01-09T17:37:42+07:00</StopTime>
    <TestStatus>P</TestStatus>
    <MachineName>HCMINGAOI06_B</MachineName>
    <Operator />
    <StepOrTestName>AOI_BSI</StepOrTestName>
    <FailureLabel />
    <FailureMessage />
</TestHistory>
</NewDataSet>

有人可以帮我展示 datagirdview 的结果吗? 暂时只能用richTextBox显示 下面是我使用的代码:

private void Check(object sender, EventArgs e)
{
    check();
}
public void check()
{
    string CustomerName = cbWorkcell.Text;
    string SerialNumber = txtserialnumber.Text;
    string Division = "";
    try
    {
        ServiceMES.MES_TISSoapClient b = new ServiceMES.MES_TISSoapClient();        
        string resultz = b.GetTestHistory(SerialNumber, CustomerName, Division);           
        ShowResult(CustomerName, SerialNumber, resultz);               
    }

    catch { }
}

private void ShowResult(string CustomerName, string SerialNumber, string resultz)
{
  
    this.Invoke(new MethodInvoker(delegate ()
    {
       
        richTextBox1.Text = "Serinumber:" + SerialNumber + "\r\nCustomerName:" + CustomerName + "\r\n" + resultz + "\r\n";
        lbSerial.Text = "Serial: " + SerialNumber;
        
    }));
}

【问题讨论】:

    标签: c# winforms web-services datagridview dataset


    【解决方案1】:

    您可以使用DataSet.ReadXml 并在DataGridView 中显示结果。

    例如:

    var xml = @"
    <NewDataSet>
    <TestHistory>
        <StartTime>2021-01-09T17:37:38+07:00</StartTime>
        <StopTime>2021-01-09T17:37:42+07:00</StopTime>
        <TestStatus>P</TestStatus>
        <MachineName>HCMINGAOI06_B</MachineName>
        <Operator />
        <StepOrTestName>AOI_BSI</StepOrTestName>
        <FailureLabel />
        <FailureMessage />
    </TestHistory>
    </NewDataSet>
    ";
    using (var textReader = new StringReader(xml))
    {
        var ds = new DataSet();
        ds.ReadXml(textReader);
        dataGridView1.DataSource = ds.Tables[0];
    }
    

    【讨论】:

    • 太好了,我认为这不会那么容易。非常感谢 Reza Aghaei
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 2018-10-29
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多