2017-09-21 18 views
0

UniqueIdentifierキー値に基づいて列を作成するために、データをピボットするプロセスがあります。得られたデータテーブルは、次のようなカラム名を有する:GUID列名に基づいて動的ItemTemplateを作成する

> PartNum 
> [DB1A6498-7CC6-4EA0-846A-9B6EAB771777] 

ASPの部分である:

  <asp:TemplateField HeaderText="Part No."> 
       <ItemTemplate> 
        <asp:Label ID="lblPartNum" runat="server" Text='<%#Eval("PartNum") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Run Out"> 
       <ItemTemplate> 
        <asp:Label ID="lblRunOut" runat="server" Text='<%#Eval("DB1A6498-7CC6-4EA0-846A-9B6EAB771777") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 

パーツナンバーは、メッセージ内のユニークIDの結果に基づいて、うまく、しかしフィールドを表示

DB1A6498-7CC6-4EA0-846A-9B6EAB771777/ is neither a DataColumn nor a DataRelation for table . 

データテーブルの列を読み込んでグリッド列を作成しましたが、これは正しく表示されますが、ItemTemplateを動的に作成しようとするとエラーが発生します。ラベル内のuniqueIDのまわりに角括弧[]を置くこともできませんでした。

ご意見をいただければ幸いです。ありがとう

+1

二重括弧で試しましたか?列名に実際の角括弧がある場合、[[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]]が必要になることがあります。これはSQL文でよく見られます。 –

+0

また、その背後にSQL文がある場合は、別の名前にその列のエイリアスを試してください。[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]をGUIDColumnとして選択してください –

+0

括弧に関連するものはありますか。 Evalに「x [[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]] y」と入力すると、エラーメッセージに最初の括弧が表示されません。 Evalに「[[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]]」と入力すると、「[DB1A6498-7CC6-4EA0-846A-9B6EAB771777」には最初の2つの括弧のいずれかが反映されます。 2つの括弧のうちの最初の括弧が認識された後、最後にテキストはありません。 ブラケットをもっと見る時間。 – Galactic

答えて

0

ケビン...あなたの応答は、括弧のパスを私に導いた。その上で、私は最終的な結果は、ASPのTextプロパティということでのDataBinderについての情報を見つけました:ラベルが読み:

Text='<%# DataBinder.GetPropertyValue(Container.DataItem,"[DB1A6498-7CC6-4EA0-846A-9B6EAB771777]") %>' 

これはエラーなしでユニークIDフィールドからのデータを表示しています。

+0

うれしかったです。 –

関連する問題