在DataGrid1有一个产品列表,然后要对每条记录填写货架编号以及货架编号对应的数量。
(1)有的记录只要写一个货架编号(对应的数量就是这条记录的数量),这中情况很好做。
(2)有的记录要分成n(n>0)个货架(n个货架对应的数量之和等于这条记录的数量),这种情况我不知道怎么做。
-------
  请问情况(2)怎么实现呢?情况(1)可以从TextBox1和TextBox2中输入货架编号和数量,但情况(2)怎么输入呢?
  请各位讲讲情况(2)怎么实现呢?实现的大致思路??

解决方案 »

  1.   

    如果数据大于货架数量,你就出来好几个textbox,如果小于货架数量,就出来一个textbox
      

  2.   

    提交的时候怎么获得动态创建出来的TextBox的值呢?
      

  3.   

    有没有什么办法能在listbox中直接手动输入值吗?
      

  4.   

    1.用分号隔开这些编号比如   “编号1;编号2;..." "数量1;数量2..."
    2.在DataGrid的TemplateItem里面放一个repeater控件,根据总数动态生成邦定repeater private void BindRepeaters(int total)
    {
    ArrayList values = new ArrayList(); 
    for (int i = 1; i <= total; i++)
    {
    values.Add(i);


    this.Repeater1.DataSource = values;
    Repeater1.DataBind(); this.Repeater2.DataSource = values;
    Repeater2.DataBind(); 
    }超简单,repeater里面放textbox
      

  5.   

    取值用((TextBox)Repeater1.Items[i].FindControl("textbox1")).Text;
      

  6.   

    yangye1211(杨杨) 你好
    谢谢你的思路,HTML里面怎么写呢?
    我想在里面放textbox1,textbox2一个填货架编号,一个填对应的数量。同时还想要有表头(textbox1上面(对应的表头是“货架编号”))textbox2 对应的表头是“数量”。
    请快帮忙啊,这个问题烦了很久了。
    我按你的思路就是做不到上面的效果。
    谢谢了
      

  7.   

    谢谢你的思路。应该可以实现了。我在DataGrid中
    <asp:datagrid id="DataGrid1" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True">
    <ItemStyle Height="25px"></ItemStyle>
    <HeaderStyle Wrap="False" HorizontalAlign="Left" ForeColor="White" BackColor="InactiveCaption"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="货架">
    <ItemTemplate>
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="数量">
    <ItemTemplate>
    <asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Left" ForeColor="Black" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
    实现了。
    谢谢
      

  8.   

    在做的过程中还遇到了一个问题。
    就是在相对上面填写数量的TextBox2进行数据验证,但是验证控件无法找到TextBox2。
    不知道有什么办法能让验证控件找到摸版列中的TextBox2