下拉列表与多选框以及GridView中的多选框的问题
生活随笔
收集整理的這篇文章主要介紹了
下拉列表与多选框以及GridView中的多选框的问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
小丫頭的隨筆。。。 頁(yè)面設(shè)計(jì)中有一個(gè)下拉列表(DropDownList)和多選框列表(CheckBoxList)以及一個(gè)可以提供顯示的表格(GridView)。當(dāng)選擇下拉列表中具體的值時(shí),進(jìn)行對(duì)多選框的選擇,在多選框中挑上溝。點(diǎn)擊保存在GridView中顯示一條數(shù)據(jù)。 aiqinhai.aspx如下: <asp:DropDownList ID="ddl_aiqinhai" runat="server" CssClass="DropDownList"? AutoPostBack="True" OnSelectedIndexChanged="ddl_aiqinhai_SelectedIndexChanged">
??????????????????? </asp:DropDownList> <asp:Panel ID="Panel1" runat="server" Height="150px" ScrollBars="Vertical" Width="80%">
??????????????????????? <asp:CheckBoxList ID="cbl_aiqinhai" runat="server" Width="80%">
??????????????????????? </asp:CheckBoxList></asp:Panel> aiqinhai.aspx.cs 如下: /// <summary>
??? /// 下拉列表的綁定
??? /// </summary>
??? private void Bind_dll_aiqinhai()
??? {
????????Aiqinhai_BLL? aqh= new Aiqinhai_BLL();
??????? DataTable DT = bll.GetName_B();
??????? ddl_aiqinhai.DataSource = DT;
??????? ddl_aiqinhai.DataTextField = "Name";
??????? ddl_aiqinhai.DataValueField = "PK_UserID";
??????? ddl_aiqinhai.DataBind();
??? } /// <summary>
??? /// 多選框的綁定
??? /// </summary>
??? private void Bind_cbl_PostName()
??? {
???????Aiqinhai_BLL bll = new Aiqinhai_BLL();
??????? DataTable DT = bll.GetPost_B();
??????? cbl_aiqinhai.DataSource = DT;
??????? cbl_aiqinhai.DataTextField = "PostName";
??????? cbl_aiqinhai.DataValueField = "PK_PostID";
??????? cbl_aiqinhai.DataBind();
??? } #region 下拉列表框的事件
??? public DataTable GetPostUserID(string UserId)
??? {
??????? Post_BLL bll = new Post_BLL();
??????? return bll.GetPostUser_B(UserId);
??? } protected void ddl_aiqinhai_SelectedIndexChanged(object sender, EventArgs e)
??? {
??????? Bind_cbl_PostName();
??????? DataTable dt = GetPostUserID(this.ddl_aiqinhai.SelectedValue);
??????? foreach (DataRow dr in dt.Rows)
??????? {
??????????? for (int i = 0; i < cbl_aiqinhai.Items.Count; i++)
??????????? {
??????????????? if (dr["FK_PostID"].ToString() == cbl_aiqinhai.Items[i].Value)
??????????????? {
??????????????????? cbl_aiqinhai.Items[i].Selected = true;
??????????????? }
??????????? }
??????? }
??? }
??? #endregion 循環(huán)得到ID for (int i = 0; i < cbl_aiqinhai.Items.Count; i++)
??????? {
??????????? if (cbl_aiqinhai.Items[i].Selected)
??????????? { string userid; string postid;
??????????????? userid= this.ddl_aiqinhai.SelectedValue;
??????????????? postid = cbl_aiqinhai.Items[i].Value;
????????????? .....
??????????? }
??????? } 當(dāng)多選框在GridView中,選擇下拉列表時(shí)所對(duì)應(yīng)的是GridView中的相關(guān)信息。 <asp:GridView ID="grv_Aiqinhai" SkinID="GridView" UseAccessibleHeader="false" runat="server" Width="98%"
??????????????????? DataKeyNames="PK_postid"? AutoGenerateColumns="False" AllowPaging="True">
??????????????????? <Columns>
??????????????????????? <asp:TemplateField HeaderText="選擇">
??????????????????????????? <ItemTemplate >
??????????????????????????????? <asp:CheckBox ID="cbl_Aiqinhai" runat="server" />
??????????????????????????? </ItemTemplate>
??????????????????????????? <HeaderStyle? HorizontalAlign="Center" Width="60px" />
??????????????????????????? <ItemStyle HorizontalAlign="Center" Width="60px" />
??????????????????????? </asp:TemplateField>
???????????????????????
??????????????????????? <asp:BoundField DataField="DailyProcedureName" HeaderText="崗位名稱"? >
???????????????????????? <HeaderStyle? HorizontalAlign="Center"/>
??????????????????????????? <ItemStyle HorizontalAlign="Center" />
??????????????????????? </asp:BoundField>
??????????????????????
??????????????????? </Columns>
??????????????????? <PagerSettings Visible="False" />
??????????????? </asp:GridView> 下拉列表的事件如下: protected void ddl_aiqinhai_SelectedIndexChanged(object sender, EventArgs e)
??? {
DataTable dt = GetDailyProcedureID(this.ddl_aiqinhai.SelectedValue);
??????? if (dt.Rows.Count > 0)
??????? {
??????????? for (int i = 0; i <= grv_Aiqinhai.Rows.Count - 1; i++)
??????????? { foreach (DataRow dr in dt.Rows)
??????????????? { if (grv_Aiqinhai.DataKeys[i].Value.ToString() != null)
??????????????????? {
??????????????????????? if (grv_Aiqinhai.DataKeys[i].Value.ToString() == dr["FK_userid"].ToString())
??????????????????????? {
??????????????????????????? CheckBox cbox = (CheckBox)grv_Aiqinhai.Rows[i].FindControl("cbl_Aiqinhai");
??????????????????????????? cbox.Checked = true; }
??????????????????? } }
??????????? }
??????? } }
循環(huán)得到GridView中的ID foreach (GridViewRow grv in grv_Aiqinhai.Rows)
??????? {
??????????? if (((CheckBox)grv.FindControl("cbl_Aiqinhai")).Checked)
??????????? { .......
??????????? }
??????? } 得到ID即可對(duì)數(shù)據(jù)進(jìn)行相關(guān)操作。
??????????????????? </asp:DropDownList> <asp:Panel ID="Panel1" runat="server" Height="150px" ScrollBars="Vertical" Width="80%">
??????????????????????? <asp:CheckBoxList ID="cbl_aiqinhai" runat="server" Width="80%">
??????????????????????? </asp:CheckBoxList></asp:Panel> aiqinhai.aspx.cs 如下: /// <summary>
??? /// 下拉列表的綁定
??? /// </summary>
??? private void Bind_dll_aiqinhai()
??? {
????????Aiqinhai_BLL? aqh= new Aiqinhai_BLL();
??????? DataTable DT = bll.GetName_B();
??????? ddl_aiqinhai.DataSource = DT;
??????? ddl_aiqinhai.DataTextField = "Name";
??????? ddl_aiqinhai.DataValueField = "PK_UserID";
??????? ddl_aiqinhai.DataBind();
??? } /// <summary>
??? /// 多選框的綁定
??? /// </summary>
??? private void Bind_cbl_PostName()
??? {
???????Aiqinhai_BLL bll = new Aiqinhai_BLL();
??????? DataTable DT = bll.GetPost_B();
??????? cbl_aiqinhai.DataSource = DT;
??????? cbl_aiqinhai.DataTextField = "PostName";
??????? cbl_aiqinhai.DataValueField = "PK_PostID";
??????? cbl_aiqinhai.DataBind();
??? } #region 下拉列表框的事件
??? public DataTable GetPostUserID(string UserId)
??? {
??????? Post_BLL bll = new Post_BLL();
??????? return bll.GetPostUser_B(UserId);
??? } protected void ddl_aiqinhai_SelectedIndexChanged(object sender, EventArgs e)
??? {
??????? Bind_cbl_PostName();
??????? DataTable dt = GetPostUserID(this.ddl_aiqinhai.SelectedValue);
??????? foreach (DataRow dr in dt.Rows)
??????? {
??????????? for (int i = 0; i < cbl_aiqinhai.Items.Count; i++)
??????????? {
??????????????? if (dr["FK_PostID"].ToString() == cbl_aiqinhai.Items[i].Value)
??????????????? {
??????????????????? cbl_aiqinhai.Items[i].Selected = true;
??????????????? }
??????????? }
??????? }
??? }
??? #endregion 循環(huán)得到ID for (int i = 0; i < cbl_aiqinhai.Items.Count; i++)
??????? {
??????????? if (cbl_aiqinhai.Items[i].Selected)
??????????? { string userid; string postid;
??????????????? userid= this.ddl_aiqinhai.SelectedValue;
??????????????? postid = cbl_aiqinhai.Items[i].Value;
????????????? .....
??????????? }
??????? } 當(dāng)多選框在GridView中,選擇下拉列表時(shí)所對(duì)應(yīng)的是GridView中的相關(guān)信息。 <asp:GridView ID="grv_Aiqinhai" SkinID="GridView" UseAccessibleHeader="false" runat="server" Width="98%"
??????????????????? DataKeyNames="PK_postid"? AutoGenerateColumns="False" AllowPaging="True">
??????????????????? <Columns>
??????????????????????? <asp:TemplateField HeaderText="選擇">
??????????????????????????? <ItemTemplate >
??????????????????????????????? <asp:CheckBox ID="cbl_Aiqinhai" runat="server" />
??????????????????????????? </ItemTemplate>
??????????????????????????? <HeaderStyle? HorizontalAlign="Center" Width="60px" />
??????????????????????????? <ItemStyle HorizontalAlign="Center" Width="60px" />
??????????????????????? </asp:TemplateField>
???????????????????????
??????????????????????? <asp:BoundField DataField="DailyProcedureName" HeaderText="崗位名稱"? >
???????????????????????? <HeaderStyle? HorizontalAlign="Center"/>
??????????????????????????? <ItemStyle HorizontalAlign="Center" />
??????????????????????? </asp:BoundField>
??????????????????????
??????????????????? </Columns>
??????????????????? <PagerSettings Visible="False" />
??????????????? </asp:GridView> 下拉列表的事件如下: protected void ddl_aiqinhai_SelectedIndexChanged(object sender, EventArgs e)
??? {
DataTable dt = GetDailyProcedureID(this.ddl_aiqinhai.SelectedValue);
??????? if (dt.Rows.Count > 0)
??????? {
??????????? for (int i = 0; i <= grv_Aiqinhai.Rows.Count - 1; i++)
??????????? { foreach (DataRow dr in dt.Rows)
??????????????? { if (grv_Aiqinhai.DataKeys[i].Value.ToString() != null)
??????????????????? {
??????????????????????? if (grv_Aiqinhai.DataKeys[i].Value.ToString() == dr["FK_userid"].ToString())
??????????????????????? {
??????????????????????????? CheckBox cbox = (CheckBox)grv_Aiqinhai.Rows[i].FindControl("cbl_Aiqinhai");
??????????????????????????? cbox.Checked = true; }
??????????????????? } }
??????????? }
??????? } }
循環(huán)得到GridView中的ID foreach (GridViewRow grv in grv_Aiqinhai.Rows)
??????? {
??????????? if (((CheckBox)grv.FindControl("cbl_Aiqinhai")).Checked)
??????????? { .......
??????????? }
??????? } 得到ID即可對(duì)數(shù)據(jù)進(jìn)行相關(guān)操作。
轉(zhuǎn)載于:https://blog.51cto.com/nihaiqin/86941
總結(jié)
以上是生活随笔為你收集整理的下拉列表与多选框以及GridView中的多选框的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 天安人寿是正规公司吗 天安人寿是不是正规
- 下一篇: 股票roc指标使用技巧