2012-02-01 5 views
0

私はこのコードを持っている:DataView:上の文字列とそれらを区別する?

<asp:DropDownList AutoPostBack=False id="nation" runat="server" DataTextField="Title" DataValueField="Desc"></asp:DropDownList> 

DataView nation = new DataView(new MyObjects().RsTable); 
nation.Sort = "Title DESC"; 
DropNazioni.DataSource = nation; 
DropNazioni.DataBind(); 

は、私は何をしたいのは、次のとおりです。

  1. は、DropDownListコントロール内の重複しない値だけを入れてください(私は2つの値「イタリア」を持っている場合、一つだけを挿入時間イタリア);
  2. DropDownListの文字列を上にします(イタリアの場合はイタリアを印刷します)。

試しnation.Distinct()またはnation.ToUpperString()と思われますが、これらの方法は存在しないようです。

私は(unfortunatly)古いプロジェクトで、.NET 2.0を使用していますので、LINQはありません。

+1

LINQ - を見てみましょう - HTTPを://stackoverflow.com/questions/2138/linq-on-the-net-2-0-runtime – adatapost

答えて

0

:DropDownListコントロールの

DropNazioni.DataSource = nation.ToTable(true,new string[] { "Title", "Desc" }); 

とCSS:.NET 2.0ランタイム上

style="text-transform:uppercase;" 
1

Try GroupBy

var result = MyObjects().RsTable 
         .AsEnumerable() 
         .GroupBy(p => p.Field<string>("Nation")) 
         .Select(p=>p.Key); 

それとも

ソリューションが見つかり
var result = MyObjects().RsTable 
         .AsEnumerable() 
         .GroupBy(p => p.Field<string>("Nation").ToUpper()) 
         .Select(p=>p.Key); 
+0

DataTabelにはAsEnumerable()の定義が含まれていません(.NET 3.5にあります) – markzzz

+0

@markzzz - http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.asenumerable (v =約90).aspx – adatapost

+0

なぜそれがうまくいかないのかわからない... – markzzz

関連する問題