2011-07-01 11 views
1

データベースに存在しないgridviewに1つの列をバインドする方法はありますか?データベースに存在しないgridviewに1つの列をバインドする方法

合計ユニットを最後の列Total Unitに表示したいのですが、データベースに存在しません。

私は、引数の例外が発生しました:

列 'TUNITは' テーブルに属していません。あなたがリストを結合している場合、あなたはそのリストにプロパティを追加し、evalの(「PropertyName意味」)を使用してグリッドにバインドすることができ

foreach(DataRow row in dt.Rows) 
{ 
    object[] obj=new object[2]; 
    obj[0] = row["Transaction_Id"]; 
    obj[1] = row["tunit"]; 
    dtgrid.Rows.Add(obj); 
} 
+0

私はこれについて考えることができるいくつかの解決策がありますが、もう少し詳細を提供すれば最適なものを提供できますし、コードスニペットかもしれません。 DataTableにバインドしていますか?グリッドビューに列を手動で追加しているのですか、それとも自動生成されていますか? – DoctorMick

答えて

0

0

あなたが選択クエリは、あなたが持っていることを確認してください準備あなたがその特定の行に必要合計値と1以上の余分な列は、その後、あなたは次のように指定し、GridViewの中で列を指定することを確認することができます

'AutoGenerateColumns = false; 


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="sds_datasourceName"> 
<Columns> 
      <asp:TemplateField HeaderText="Total" > 
       <itemtemplate> 
        <asp:Label ID="Total" runat="server" Text='<%# Bind("Total") %>'></asp:Label> 
       </itemtemplate> 

      </asp:TemplateField> 
</Columns> 
     </asp:GridView> 
3

この問題を解決する最善の方法は、それがUnbound Columnsトピックで説明するように結合していない列を実装することです。

関連する問題