【发布时间】:2009-07-13 11:22:14
【问题描述】:
我有一个包含 datagridview 控件的 Windows 窗体应用程序。 datagridview 由 xml 文件的内容填充。目前,所有列都显示为 datagridviewtextboxcolumns。我想选择一个由特定 xml 标签填充的标签,并将其内容与其他 2 个选项一起显示在 datagridviewcomboboxcolumn 中。
示例:
<SMS>
<Number>+447931663542</Number>
<DateTime>2009-07-12T17:00:02</DateTime>
<Message>YES</Message>
<FollowedUpBy>Unassigned</FollowedUpBy>
<Outcome>Resolved</Outcome>
</SMS>
OUTCOME 标记是我希望在 datagridview 中显示为组合框列的列。例如,如果标签为空且不包含任何数据,那么我不想显示任何内容,但在组合框列中填充了 3 个可能的选项供您选择(未解决、已解决、待处理)。但是,如果标签包含数据,我希望该特定项目显示在组合框列中,并且可以选择其他两个选项。
我们将不胜感激!
问候,
编辑: 目前我使用这个代码:
colOutcome = new DataGridViewComboBoxColumn();
colOutcome.HeaderText = "Outcome";
colOutcome.Width = 90;
colOutcome.Items.AddRange("Resolved", "Unresolved", "Pending");
this.dataGridView1.Columns.Insert(1, colOutcome);
this.dataGridView1.Columns[1].Name = "OutcomeColumn";
上面的这段代码填充了组合框。问题是:当 xml 文档填充 datagridview 时,结果列仅显示为文本框列,其中包含 xml 文件中结果标记之间的数据。我的观点是,我怎样才能让 datagridview 在读取结果列时意识到它需要更改为组合框列,然后以这种方式显示数据,以及组合框中的其他潜在可选选项?!目前,datagridview 填充了所有列作为包含数据的文本框列,以及一个单独的组合框列,这不是我想要的。我需要应用程序将结果列及其数据与上面的代码合并。
有什么想法吗?
【问题讨论】:
标签: c# xml winforms datagridview