大数据之路

博客园 首页 新随笔 联系 订阅 管理
1.用数据邦定的方法实现html页面的数据邦定(和cs里面的方法联系)
 1asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 88px; POSITION: absolute; TOP: 96px" runat="server"
 2                AutoGenerateColumns="False" Height="296px" Width="664px">
 3                <Columns>
 4                    <asp:TemplateColumn HeaderText="CityProId">
 5                        <ItemTemplate>
 6                            <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CityProId") %>'>
 7                            </asp:Label>
 8                        </ItemTemplate>
 9                        <EditItemTemplate>
10                            <FONT face="宋体">
11                                <asp:DropDownList id="ddl1" runat="server" DataSource="<%# mytable.DefaultView %>" DataTextField="CityProId" Width="160px" Height="24px" SelectedIndex="<%#GetSelectedIndex2(ddl1Text)%>" OnSelectedIndexChanged="onchanged" AutoPostBack="True">
12                                </asp:DropDownList></FONT>
13                        </EditItemTemplate>
14                    </asp:TemplateColumn>
15                    <asp:TemplateColumn HeaderText="CityName">
16                        <ItemTemplate>
17                            <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CityName") %>'>
18                            </asp:Label>
19                        </ItemTemplate>
20                        <EditItemTemplate>
21                            <asp:DropDownList id=ddl2 runat="server" Width="176px" Height="24px" AutoPostBack="True" DataSource="<%# mytable.DefaultView %>" DataTextField="CityName" SelectedIndex="<%#GetSelectedIndex(getvalue(ddl1Text))%>" >
22                            </asp:DropDownList>
23                        </EditItemTemplate>
24                    </asp:TemplateColumn>
25                    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
26                </Columns>
27            </asp:datagrid>

2.通过获取当前的索引号来获得数据(cs里面的代码
  1using System;
  2using System.Collections;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Web;
  7using System.Web.SessionState;
  8using System.Web.UI;
  9using System.Web.UI.WebControls;
 10using System.Web.UI.HtmlControls;
 11
 12namespace WebApplication6
 13{
 14    /// <summary>
 15    /// test2ddl 的摘要说明。
 16    /// </summary>

 17    public class test2ddl : System.Web.UI.Page
 18    {
 19        protected System.Web.UI.WebControls.DataGrid DataGrid1;
 20        DataBase db=new DataBase();
 21        public string ddl1Text="26";
 22        protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1;
 23        protected static  DataTable mytable;
 24    
 25        private void Page_Load(object sender, System.EventArgs e)
 26        {
 27            if(!this.Page.IsPostBack)
 28            {
 29                databind();
 30                string s="select * from City ";
 31                mytable=db.GetDatatable(s);
 32
 33            }
 
 34            
 35            // 在此处放置用户代码以初始化页面
 36        }

 37        public void databind()
 38        {
 39            string ss="select * from  City";
 40            
 41            this.DataGrid1.DataSource=db.GetDatatable(ss).DefaultView;
 42            this.DataGrid1.DataBind();
 43
 44
 45        }

 46        Web 窗体设计器生成的代码
 68
 69        private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
 70        {
 71
 72                }

 73/// <summary>
 74/// 获取第一个ddl的值
 75/// </summary>
 76/// <param name="source"></param>
 77/// <param name="e"></param>

 78        public void  onchanged(object sender, System.EventArgs e)
 79        {
 80            DropDownList ddl = (DropDownList)sender;
 81            ddl1Text=ddl.SelectedItem.Text;
 82            this.Hidden1.Value=ddl1Text;
 83            getvalue(ddl1Text);    
 84            Response.Write( GetSelectedIndex(ddl1Text).ToString());
 85            this.Page.DataBind();//注意页面元素的控件的邦定@
 86            databind();
 87
 88            //获取第一个ddl的值
 89
 90        }

 91        /// <summary>
 92        /// 根据第一个ddl的值获得第2个ddl的值
 93        /// </summary>
 94        /// <param name="ss"></param>

 95        public string  getvalue(string ss)
 96        {  
 97            
 98        
 99                string sss="ok";    
100                string s="select * from City where CityProId='"+ddl1Text+"'";
101                sss=db.GetDatatable(s).Rows[0][1].ToString();
102                return sss;
103        }

104        /// <summary>
105        /// 获取第二个ddl的对应的索引
106        /// </summary>
107        /// <param name="source"></param>
108        /// <param name="e"></param>

109        public int GetSelectedIndex(string str)
110        {
111            int i=0;
112            if(str != null)
113            {
114                string s="select CityName from City";
115                foreach(DataRow newrow in db.GetDatatable(s).Rows)
116                {
117                    if(str == newrow["CityName"].ToString())
118                        break;
119                    i++;
120                }

121            }

122            return i;
123        }

124        /// <summary>
125        ///  获取第一个ddl的对应的索引
126        /// </summary>
127        /// <param name="str"></param>
128        /// <returns></returns>

129        public int GetSelectedIndex2(string str)
130        {
131
132            int i=0;
133            if(str != null)
134            {
135                string s="select CityProId from City";
136                foreach(DataRow newrow in db.GetDatatable(s).Rows)
137                {
138                    if(str == newrow["CityProId"].ToString())
139                        break;
140                    i++;
141                }

142            }

143            return i;
144        }

145        private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
146        {
147            this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
148            databind();
149            this.DataGrid1.DataBind();
150        }

151
152        
153
154        
155    }

156}

157

3.数据邦定另外一种方法

呵呵代码写的多了 困~)
posted on 2006-07-19 21:24  小潘  阅读(254)  评论(0)    收藏  举报