- PR -

DataGrid内のDropDownListについて

1
投稿者投稿内容
BONTA
会議室デビュー日: 2002/12/09
投稿数: 13
投稿日時: 2002-12-24 17:25
質問なのですがDataGridのテンプレート列でDropDownListを追加したのですが
DropDownListのItemsコレクションを動的に(DataReader等を使用して)設定する方法が分からなくて困っています。もしお分かりの方がいらっしゃったら宜しくお願いいたします。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2002-12-24 18:45
テンプレート列の中にasp:DropDownListを動的に作っても解釈されないと思います。
HTMLコントロールなら、こんな感じでしょうか。
コード:
<%@ page language="C#" debug="true" %>
<html>
<head>
<script runat=server>
void Page_Load(object sender, EventArgs e)
{
  if (IsPostBack) return;
  DataGrid1.DataSource = new string[]{"Test1,Test2","A,B,C,D","1,2,3"};
  DataBind();
}
string ListData(string data)
{
  string res = "";
  string[] ss = data.Split(',');
  foreach (string s in ss) res += "<option>"+s+"</option>";
  return res;
}
</script>

<title>ASP.NET test</title>
</head>
<body>
<form runat=server>
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
  <Columns>
    <asp:TemplateColumn>
      <ItemTemplate>
        <select><%# ListData((string)Container.DataItem) %></selectt>
      </ItemTemplate>
    </asp:TemplateColumn>
  </Columns>
</asp:DataGrid>
</form>
</body>
</html>

BONTA
会議室デビュー日: 2002/12/09
投稿数: 13
投稿日時: 2002-12-25 10:33
cats さんどうもありがとうございます。
何分初心者なもんで何でもお聞きしますが

サンプルは非常に参考になったのですが私が考えておりますのは
HTMLコントロール自体のデータソースはSQLサーバのとあるテーブルであり、
リストの一覧はあくまで選択肢として提供する又別のSQLサーバ上のテーブルです。
またDataGridのデータソースとも異なります(ここらへんがよく理解できませんでした...)。
要するに編集モードで使用する最も基本的な形だと思うのですが...。

実際に直接、動かせなくてもいいので他に参考になるサンプルはありますでしょうか?
(言語はVBを希望..やはり微妙に違うので^^;)

BONTA
会議室デビュー日: 2002/12/09
投稿数: 13
投稿日時: 2002-12-25 10:33
cats さんどうもありがとうございます。
何分初心者なもんで何でもお聞きしますが

サンプルは非常に参考になったのですが私が考えておりますのは
HTMLコントロール自体のデータソースはSQLサーバのとあるテーブルであり、
リストの一覧はあくまで選択肢として提供する又別のSQLサーバ上のテーブルです。
またDataGridのデータソースとも異なります(ここらへんがよく理解できませんでした...)。
要するに編集モードで使用する最も基本的な形だと思うのですが...。

実際に直接、動かせなくてもいいので他に参考になるサンプルはありますでしょうか?
(言語はVBを希望..やはり微妙に違うので^^;)

cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2002-12-25 11:02
DataGridの解説は、@ITの記事が分かりやすいと思います。

(VB.NETについては、私は書けないので他の方にまかせます。)
1

スキルアップ/キャリアアップ(JOB@IT)