重新排序数据表中的列?
|
我正在使用xsd文件来验证xml文件。在xsd文件中,仅需要几个元素,其余元素是可选的。但是,它是顺序的,因此元素在数据表中的顺序很重要。在考虑了用户可能遇到的几种情况之后,我想到了一个我很难解决的情况。
情况是这样的:
例如,
xsd文件中有6个元素A,B,C,D,E,F。仅需要A,C和D。
用户以A,C,D开始。我允许用户添加一列,名称为B。
但是,它附加在末尾:A,C,D,B。因此,由于它是顺序的,因此不会进行验证。
所以我的问题是,如何在A和C之间插入B以便通过xsd验证?还是有其他方法可以重新排列datagridview中的内容并将其反映在datatable中?
我认为我可以通过允许用户对显示表的datagridview中的列进行重新排序来解决该问题。
编辑:
假设我无法更改xsd文件。
那是,
dataGridView1.AllowUserToOrderColumns = true;
但是,验证总是告诉我,在最后一个必需元素之后应该有一个“元素”。这意味着datagridview中数据列的移动未反映在数据表本身中。
为了通过验证,我相信我需要在相对于其他所有内容的相应位置插入该列。或者至少将其插入结尾,并在用户按下验证按钮时反映正确的顺序。
我在网上遇到了其他一些问题,告诉我尝试以下操作:
Table.Columns[\"Column Name\"].SetOrdinal(NewIndex);
但是我还没有实现它。有什么想法可以防止上面的那行无效吗? =)
另外,我希望能够将数据表与用户在datagridview中所做的同步。那将是理想的。如果用户在datagridview中移动列,则数据表应反映该更改。
非常感谢您提供任何见解,如果需要,我将很乐意提供其他信息。谢谢!
真诚的
tf.rz
(.NET 3.5 SP1,Visual Studio C#2008)
没有找到相关结果
已邀请:
2 个回复
届甸衬丝蚕
,或者由于模式本身是xml,可以使用
,
,
等直接查询xml。
盛梯獭八搽
改为使用
例如
上面的示例表明\“ firstname \”和\“ lastname \”元素可以以任何顺序出现,并且每个元素可以出现零或一次! 有关更多信息,请参见http://www.w3schools.com/schema/el_all.asp。