我想把一个DataTable中的数据放到一个DataList中,代码如下,DataList确实显示了100行,但是都没有数据,不知道是为什么,请大家帮忙,另外DataList中的item的Change事件应该如何加啊?
DataTable dt = new DataTable();
DataRow dr; dt.Columns.Add(new DataColumn("编号", typeof(String)));
int index=0;
while(index<100)
{
dr = dt.NewRow();
dr[0]="aaa";
dt.Rows.Add(dr);
index++;
} DataList1.DataSource =dt;
                    DataList1.DataBind();

解决方案 »

  1.   

    此时dt中的dr的RowState应该是Inserted吧,所以
      

  2.   

    <%@ Page language="c#" AutoEventWireup="false" debug="true"%>
    <%@ import namespace="System.Data"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>
      <head>
        <title>WebForm</title>
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name=vs_defaultClientScript content="JavaScript">
        <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script runat="server" language="c#">
    private void Page_Load(object sender, System.EventArgs e)
    {
    DataTable dt = new DataTable();
    DataRow dr; dt.Columns.Add(new DataColumn("编号", typeof(String)));
    int index=0;
    while(index<100)
    {
    dr = dt.NewRow();
    dr[0]="aaa";
    dt.Rows.Add(dr);
    index++;
    } DataList1.DataSource =dt;
                DataList1.DataBind();}override protected void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    }private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
    }</script>
      </head>
      <body>

        <form id="Form1" method="post" runat="server">
    <asp:DataList id="DataList1" runat="server">
    <ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem, "编号")%>
    </ItemTemplate>
    </asp:DataList>
        </form>

      </body>
    </html>
      

  3.   

    不会吧,在这里也能见到你啊.
    .net忘光了??