DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DATAGRIDのテキストボックスにDBの値を表示する方法

環境/言語:[VB.NET ASP.NET WIndows XP]
分類:[ASP.NET]

はじめまして。
表題に関してなんですが、

ASP.NETとVB.NETで開発しているんですが、
テキストボックスにDBの値を表示したいのですが、

VB.NET(ビジネスロジック)側のコード記述が不適切なのか
ASP.NET側のコード記述が悪いのかが分かりません。

ちなみに、VB.NET側の記述は

---------------------------------------------------------------------------
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
Dim SelectCommand As String = "select コード from テーブル"

MyConnection = New SqlConnection("Persist Security Info=False;User ID=XXX;Initial Catalog=XXX;Password=XXX;Data Source=XXX")
MyConnection.Open()
MyCommand = New SqlDataAdapter(SelectCommand, MyConnection)

DS = New DataSet
MyCommand.Fill(DS)


MyDataGrid.DataSource = DS.Tables(0).DefaultView
MyDataGrid.DataBind()

---------------------------------------------------------------------------

で、ASP.NET側は、
---------------------------------------------------------------------------

<asp:datagrid
 id="MyDataGrid"
 style="Z-INDEX: 105;
    LEFT: 0px;
    POSITION: absolute;  
    TOP:88px"
 runat="server"
 BackColor="#FFE0C0"
 Height="112px"
 Width="838px"
 ForeColor="Black"
 BorderColor="Black"
 BorderStyle="Solid">
  <Columns>
   <asp:TemplateColumn
    ItemStyle-Width="30"
    HeaderText="コード"
    HeaderStyle-HorizontalAlign="Center"
    HeaderStyle-VerticalAlign="Middle"
    HeaderStyle-Wrap="false">
<ItemTemplate>
 <asp:TextBox
       Runat="server"
       ID="Textbox"
       Text="aaa">
      </asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>

---------------------------------------------------------------------------
です。今は、DBの値を表示できないのでベタでaaaと表示してます。


よろしくおねがいします。
Text = <%# DataBinder.Eval(Container.DataItem, "カラム名") %>

みたいな感じで。
■No15070に返信(trapemiyaさんの記事)
> Text = <%# DataBinder.Eval(Container.DataItem, "カラム名") %>
>
> みたいな感じで。

ご返信ありがとうございます。

ASPのほうに、実装したのですがエラーになりました。

VB.NETのほうにも、何か実装しないといけないのでしょうか?

すいませんが、ご教授お願いします。
2006/03/28(Tue) 20:04:46 編集(投稿者)

> VB.NETのほうにも、何か実装しないといけないのでしょうか?

いえ、特には必要ありません。データに空白があったのかもしれません。
Text = '<%# DataBinder.Eval(Container.DataItem, "カラム名") %>'
正しくは、カンマでくくってやって下さい。すみません。m(_ _)m

それから、知識として、以下のページを見ておいてください。

[ASP.NET]DataBinder.Evalメソッドを使用するメリット/デメリットは?
http://www.atmarkit.co.jp/fdotnet/dotnettips/060eval/eval.html

DOBON.NET | プログラミング道 | プログラミング掲示板