Web Forms :: Dynamically Filter The Parameter's Values On A Popup Window Based On Other Parameters Selection
Apr 30, 2010
I have a pop up window which contains a listbox. The items on the listbox should be filtered when it is opened based on the other parameters on the parent page. I am using session to pass the values from a page to another.
In VB.net .... I have GridView from which i select list of rows using check box and upon clicking the button i need to display those selected rows in a gridView of another page. and that page is a popup window?
I'm new to web dev and c# so please bare with me. I am trying to create a dynamic gridview in a web form for users to to answer questions with (code below).
The dificulty im having is that i am nesting a dropdwonlist in the gridview and want to be able to dynamically set the list values based on parameters (of the row they are on). These values are in the main dataset for the gridview as each row represents a questionid and question text and then a ddl for the criteria...
I just don't know how to set the values for the dropdown all the code so far is below... just need to be able to populate the dropdowns with the relevant values.
I have created a stored proc to return the different criteria based on the questionid and questionGroupid which is the dataset that populates the other fields in the gridview: dbo.usp_QuestionCriteria @QuestionGroupId, @QuestionId
I have added this as a tableadapter called criteriaTableAdapter in a xsd file as well using the wizard... not sure if this is the right option though or just use the same method as i have for the other stored procedure as in the code below:
[CODE
]using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString); con.Open(); SqlCommand com = new SqlCommand("usp_QuestionGroupDS", con); com.CommandType = CommandType.StoredProcedure; SqlDataAdapter ada = new SqlDataAdapter(com); DataSet ds = new DataSet(); ada.Fill(ds); for (int i = 0; i < ds.Tables.Count; i++) { if (ds.Tables[i].Rows.Count > 0) { GridView gvDynamicQuestion = new GridView(); gvDynamicQuestion.Width = Unit.Pixel(700); gvDynamicQuestion.BorderWidth = Unit.Pixel(0); gvDynamicQuestion.Caption = "<div id="nifty" class="QuestionGroup"> <b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>" + ds.Tables[i].Rows[0]["Category"].ToString() + " Questions<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b></div>"; gvDynamicQuestion.AutoGenerateColumns = false; gvDynamicQuestion.ShowFooter = true; TemplateField tf = null; tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.DataRow); tf.FooterTemplate = new DynamicGridViewTextTemplate(DataControlRowType.Footer, ds.Tables[i].Rows.Count); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.DataRow); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderText = "Criteria"; tf.HeaderTemplate = new DynamicGridViewTextTemplate("Criteria", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewDDLTemplate(); gvDynamicQuestion.Columns.Add(tf); ////tf = new TemplateField(); ////tf.HeaderText = "Criteria"; ////tf.ItemTemplate = new DynamicGridViewDDLTemplate(); ////gvDynamicQuestion.Columns.Add(tf); gvDynamicQuestion.DataSource = ds.Tables[i]; gvDynamicQuestion.DataBind(); phDynamicGridHolder.Controls.Add(gvDynamicQuestion); } } } protected void DynamicGrid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Footer) { // } } } public class DynamicGridViewTextTemplate : ITemplate { string _ColName; DataControlRowType _rowType; int _Count; public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType) { _ColName = ColName; _rowType = RowType; } public DynamicGridViewTextTemplate(DataControlRowType RowType, int QuestionCount) { _rowType = RowType; _Count = QuestionCount; } public void InstantiateIn(System.Web.UI.Control container) { switch (_rowType) { case DataControlRowType.Header: Literal lc = new Literal(); lc.Text = "<b>" + _ColName + "</b>"; container.Controls.Add(lc); break; case DataControlRowType.DataRow: Label lbl = new Label(); lbl.DataBinding += new EventHandler(this.lbl_DataBind); container.Controls.Add(lbl); break; case DataControlRowType.Footer: Literal flc = new Literal(); flc.Text = "<b>Total No of Questions:" + _Count + "</b>"; container.Controls.Add(flc); break; default: break; } } private void lbl_DataBind(Object sender, EventArgs e) { Label lbl = (Label)sender; GridViewRow row = (GridViewRow)lbl.NamingContainer; lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString(); } } public class DynamicGridViewDDLTemplate : ITemplate { // Implementation of ITemplate public void InstantiateIn(System.Web.UI.Control container) { // Create a DDL DropDownList ddl = new DropDownList(); //Attach method to delegate ddl.DataBinding += new System.EventHandler(this.ddl_DataBind); container.Controls.Add(ddl); } //Method that responds to the DataBinding event private void ddl_DataBind(object sender, System.EventArgs e) { //DropDownList ddl = (DropDownList)sender; //DataGridItem container = (DataGridItem)ddl.NamingContainer; //ddl.Data.Checked = [Data binding expression]; } }
As per ListBox Items a data should show in GridView by using UP and Down arrow keys. I tried by using Oonselectedindexchanged but when a page loads from listbox the cursor become active to inactive.
I have successfully implemented article - "Print only the items which are selected using checkbox in a ASP.Net DataList control"
I would like to add a dropdownlist above the DataList Control to filter the contents of Datalist and then print the items selected using Checkbox in a ASP.NET DataList Control.
in our project we need to show the markers on Google map from the database. we have already got the code in which all the markers are displayed for the the places stored in database. But our aim is somewhat different.We need marker on one place that is selected from the database.to elaborate,if we select an area from the dropdownlist that contains names of areas stored in database,then "only" marker on that place must be displayed.Further,selecting the subarea from dropdownlist2 should zoom the map and display a marker on that subarea.so how do we do that? what are the changes required to be made in this code?
using System; using System.Collections.Generic; using System.Linq; using System.Web;
I have repeater control on page which bind with sql data source.i have dropdown to filter the records of repeater on button click event it refresh complete page i just want to show a wait message to user and just refresh repeater data instead of complete page refresh.i do not want to use ajax update panel.
I am trying to pass parameters to a popup window via query string(a hidden field id & a textbox id). However, since I am using master pages the id's are very long (ct100_someid). Is there a way to elegantly pass my ids ? Can I shorten my id's or not show them to the user at all?
I have been wrestling with this idea for a couple of weeks and have finally broke down and am asking for everyones experience.Here is what I am trying to do:I have a gridview that has a checkbox field in it. I need to loop through the grid and check to see if the user has placed a check in it and then open a new webpage in a window for each record that is checked.
[Code]....
While this does work I am not sure this is the best way to handle it. I have tried to do a ScriptManager.RegisterStartupScript but it seems to only popup the first record and not continue to loop.BTW - I am doing all this is VB
i have displayed a xml file in the tree view form by binding them....now i want a sample code to access the nodes which are being selected and to display dynamically in a grid view ..in asp.net/c#
I have to select checkboxes besed on group column values. If you see below gridview, column 3 (GroupN) has 1,1,1,1,2,2,2,2....etc (this column data is not static, will change based on page index. i.e PageIndex =2 may starts with 7,7,7,8,8,8,8,8,9,9,9 etc).
Now My question is.
1). If user selected '1', we have to store value and user must and should select another '1' (atleast two times).
2) If user selected '1', and user trying select '2'. Giving error says "Must have select one then one record in group to combine' (will not allow) and unselect '2'.
3) If user selected '1' atleast two times, and user trying select '2'. Will allow.
4) If user selected '1' atleast two times and selected '2' one time, trying to select '3'. will not allow user to select '3'.
I need to charge my checkboxlist1 from database, eg load fruits and vegetables. When selecting fruits, new filter based on the previous selection in my checkboxlist2. for specific search.
I need to create a web page where the user can select from a variety of categories via a dropdown list, then enter a search term into a textbox to provide a search term. The category is going to dictate which controller to use, and the search term will be a query parameter for the List action of each controller.
What I can't figure out is how to dynamically create the route based on the users selection. How do I get the values selected from the dropdownlist and textbox into Url.RouteUrl?
I have a form that users must fill out. Once they click submit, I check for various errors. If there are any errors, I want to popup a jquery window at that point (via my code) to display the error message. Unfortunately, I'm having some trouble trying to get it to work. I don't receive any error...just a page refresh, nothing more.
Here's my codebehind:
Dim scriptString scriptString As String = "<script language=JavaScript>" scriptString += "$(document).ready(function() {" scriptString += "$('#mies1').overlay().load();" scriptString += "});" scriptString += "</script>" Dim errorMessage as String = "My Error Message Here." Page.RegisterStartupScript("Error", scriptString)
In addition, I'll need to get my "errorMessage" string onto the qQuery popup window. Any idea as to how I can dynamically pop open this jQuery window and display my error message?
I want to passed stored procedure parameters from crystal report to pass those parameter dynamically by arraylist because user will pass parameters by using data driven web pages (can be different reports with different parameter). how can i pass through parameter array lists to crystal report setreportparameters fields.
My code;
public void ConfigureReports(ArrayList valuesLists,ArrayList parameterLists) { rptReportViewer.RefreshReport(); DataBaseHelper.myReportConnectionInfo = new ConnectionInfo(); DataBaseHelper.defineConnection = null;
I have a requirement whereby I need to be able to change the controller being used based upon a parameter. I am creating an application that needs to be dynamic enough to be able to change controllers on the fly. Let me explain further;
When the application starts a dictionary of custom controller names is loaded with a controller name as the key and a custom controller name as the value. This will be help in the application scope.
When a request is made I need to access the requested controller name, use that name and check to see if it matches a key in my controller dictionary and if so, replace the requested controller name with the custom controller name from the dictionary.
example;
My dictionary will contain data as follows Key: 'Home', Value: 'Home_IN' Key: 'Customer', Value: 'Customer_BE'
Now, the following request is made 'User/Edit/1'. Does the controller name exist in the dictionary? No, continue with original request.
Now, the following request is made 'Home/Details/2'. Does the controller name exist in the dictionary? Yes, replace the original controller name 'Home' withe custom controller name 'Home_IN' so changing the requested URL to be 'Home_IN/Details/2'.
Does this make sense?
My problem here is knowing exactly where in the request cycle I need to do this?
I am assuming I need to create my own custom controller factory?
how to open a popup window and return values to the parent page
i.e passing value fom popup window to parent form.
(The child window contain textbox with a button. Once the value entered in the textbox the value entered should be updated in parent window from child window)
How can i check a parameter value and add onto or remove conditions from my where statement.Here is what i mean.. i have a stored procedure that is being used for returning small set of fields based on a parameter that it is expecting. Since the only difference between the select statements are the last AND condition, i was wondering if i can check that parameter as im doing now but change that AND condition so that i have only 1 select statement instead of 3 within my procedure.Current Example:
I am having an aspx page which displays the map. When i click on a button on the aspx page, modal popup extender will be displayed.This popup window is having some textboxes .
My requirement is , the graph displayed in the aspx page should change based on the values entering in the textboxes in the popup extender.
Is it possible to keep the aspx page enable even though the popup extender is displayed?
Is it possible to change and display the aspx page values(map like google map) based on the values in the popextender?
i have an aspx page in which a link in the grid view opens a popup page . the data in the grid view would be dynamic and i need to send the id of the row of grid while calling the child window. i get the id using sender.id, but how would i send this using window .open()?