datatable.Compute("Count(Distinct(列名))","true")出错
网上查了下,说不支持distinct,如果不用distince如何达到同样的效果呢?
------解决方案--------------------你可以通过后面的Filter添加计算的条件,但是Distinct是不支持的!
如果条件不好写,那写一个循环也未必不可
------解决方案--------------------同样楼上...
确实不支持distinct...
------解决方案--------------------datatable是个好东西...
------解决方案--------------------循环吧
------解决方案--------------------这样可以不?
ArrayList list = new ArrayList();
foreach (DataRow row in table.Rows )
{
if (!list.Contains(row[ "列名 "]))
{
list.Add(row[ "列名 "]);
}
}
//列数
int columnCount = list.Count;
------解决方案--------------------你直接用sql取的时候,就把重复的项给排除不行吗?
dt.Compute中用不了 "distinct "...
或者自己写一个方法...
------解决方案--------------------for example:
private int DistinctColumnCount(DataTable table, string columnName)
{
ArrayList list = new ArrayList();
foreach (DataRow row in table.Rows)
{
string value = row[columnName].ToString();
if (!list.Contains(value))
{
list.Add(value);
}
}
return list.Count;
}
------解决方案--------------------呵呵,我也找了半天,终于找到办法了,其实有个方法就是:DataView.ToTable(bool distinct,string[] columnname )
------解决方案--------------------good