2016-01-22 119 views
-3

我从不同的值动态生成数据表,例如,列表并将其绑定到radgridview。在数据表中将值从一列移动到另一列

请考虑下面的输入(在radgridview显示)

col1|col2 
--------- 
A | D 
A | D 
B | D 
B | E 
C | E 
D | 

上述输出是错误的,因为d是在两列即col1和COL2。

我希望输出格式如下。

col1|col2 
--------- 
A | D 
A | D 
B | D 
B | D 
C | E 
    | E 

参见上面的gridview输出,即现在D被移动到另一列以遵循序列。同样的方式,我想移动列之间的值,无论单词是“但是以相同的字母开头”应该在同一列下。

任何人都可以帮我解决这个问题。任何C#或vb.net代码都可以提供帮助。

请注意,datatable可以有n个no。列和行动态生成。

+0

RadGrid中的列被设计为数据列,类似于SQL数据库中的列。它们不是为此设计的。您可能想要考虑其他一些控件(或多个RadGrid控件)来实现此目的。 –

回答

0

一些伪代码(在C#)可能是:

String sql = String.Empty; 
String candidateDataValue = // assign it from wherever 
if ((candidateDateValue.StartsWith('A') || 
    (candidateDateValue.StartsWith('B') || 
    (candidateDateValue.StartsWith('CA')) 
{ 
    String sql = "INSERT INTO TABLE (col1) VALUES (:candidateDataValue"); 
} 
else 
{ 
    String sql = "INSERT INTO TABLE (col2) VALUES (:candidateDataValue"); 
} 
// Now insert the record using "sql" 
0

你试图插入,并在排序列值?

我认为你使用错误的数据结构来做到这一点。 DataTable应该用于“表格”。

我认为你应该创建一个带有List<List<string>>对象的类。它会有你想要的行为。从一个“列”中删除,添加到另一个列并对整个列表进行排序。

List<List<string>> Table; 

//Table Filled with 
col1|col2 
--------- 
A | D 
A | D 
B | D 
B | E 
C | E 
D | 

var str = Table[0][5]; 
Table[0].removeAt[5]; 
Table[1].add(str); 
Table[1].Sort(); 

结果:

col1|col2 
--------- 
A | D 
A | D 
B | D 
B | D 
C | E 
    | E 

更新:

如果您需要DataTable对象填充某种属性。您可以使用List< List<string> >作为参数创建分析函数以创建DataTable

+0

@Yogesh Sanchania这对你有用吗? – EduLopez

相关问题