繁体   English   中英

Datagrid-数据集/数据表绑定不起作用

[英]Datagrid - Dataset/Datatable binding not working

我有一个由4个数据表组成的数据集,并希望将其绑定到我的数据网格,但是当我查看数据网格时,它是空的。 所以我要做的是:

 DataSet dtsResults = myPcd.GetDimensionsDataSet();
 dtgResults.DataContext = dtsResults.Tables;

在此处输入图片说明

--- ADD ---这是我形成数据集的方式:

    obcPcdlrnDimensionCommands.Clear();
    int maxNumCommands = (pcdPartProgram.Commands.Count < MAX_NUM_COMMANDS) ? pcdPartProgram.Commands.Count : MAX_NUM_COMMANDS;
    PCDLRN.Commands pcdCommands = pcdPartProgram.Commands;
    //2. ciclo su tutti i comandi
    int numTables = dtsDimensions.Tables.Count + 1;
    dtsDimensions.Tables.Add("DATA_TABLE_" + numTables);
    dtsDimensions.Tables[0].Columns.Add();
    dtsDimensions.Tables[0].Columns.Add();
    dtsDimensions.Tables[0].Columns.Add();
    dtsDimensions.Tables[0].Columns.Add();
    String CurName = string.Empty;
    for (int iCommand = 1; iCommand < maxNumCommands; iCommand++)
    {
      PCDLRN.Command pcdCommand = pcdCommands.Item(iCommand);
      if (pcdCommand.IsDimension && pcdCommand.Marked)
      {
        if (pcdCommand.Type == PCDLRN.OBTYPE.DIMENSION_START_LOCATION || pcdCommand.Type == PCDLRN.OBTYPE.DIMENSION_TRUE_START_POSITION)
        {
          CurName = pcdCommand.ID;
        }
        else
        {
          if (pcdCommand.ID != string.Empty)
            CurName = pcdCommand.ID;

          double approxMeasured = Math.Round(pcdCommand.DimensionCommand.Measured, 9);
          dtsDimensions.Tables[0].Rows.Add(CurName, delenda_PART_NAME, pcdCommand.DimensionCommand.AxisLetter, approxMeasured);
        }
      }

WPF中的DataGrid仅显示一张表,您告诉她绑定到不止一张表的DataSet,因此有两个选项:
1-这样将一个表绑定到ItemsSource:

yourDatagrid.ItemsSource = yourDataSet.Tables[0]; \\or yourDataSet.Tables["TableName"]

2-绑定所有dataSet,然后告诉您datagrid绑定您的特定表,如下所示:

<DataGrid ItemsSource="{Binding TableName}"/>

暂无
暂无

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

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