Data Controls :: Sort GridView Using Dynamic Field Values From DropDownList
Mar 14, 2013
I have a gridview which is having coloumns Company name, Industry type, country, employees, revenue. i want to add dropdown at the top of each coloumn so that if user select industry as agriculture, all agriculture industry rows may be sorted, and same for other dropdown also.. i it may be possible,
View 1 Replies
Similar Messages:
May 28, 2010
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];
}
}
[/CODE]
View 7 Replies
Jan 25, 2011
i have created a dynamic dropdownlist. i need to get the selected values from the list and store it in my sql database. i am new to asp.
View 5 Replies
Sep 23, 2010
Just spent about 8 hours googling and looking through this forum for a solution on how to make sure that I can dynamically sort. Here is the situation.
I have 1 Gridview that displays 10 different scenarios based on what button is clicked.
I am also returning only top 10 records. I am doing all of the data binding pragmatically. So I have BoundFields, HyperLinkFields etc.
I also want to sort some records. When I change DataSource SQL statement the gridview somehow remembers what the last sort value was and it errors out saying that value "x" cannot be sorted because it does not exists.
I tried this:
Tried setting gridview1.sqldatasourceid = null; gridview1.allowsorting = false; gridview1.databind();
Here I get an error that says that the data source does not support sorting? Doesnt it say gridview1.allowsorting = false;
I also tried gridview1.sort("", SortDirection.Ascending); This does nothin... except query my database one more time because i have a onSorting event that looks like this:
[Code]....
Here is an example of just one of those SLQ statements inside GetSQLQuery:
[Code]....
View 1 Replies
Oct 9, 2012
Using dropdown in gridview and bind the values in dropdown then based on dropdown display the value in another column.
View 1 Replies
Mar 31, 2010
I have a gridview and basically at page load I want it to display with an empty row. The first field in the gridview would be a template field containing a textbox. I wan't to be able to type in, for example, a product code ('abc'). This would be the parameter for the stored procedure and then the rest of the columns (40+ additional columns) in the gridview would populate with the rest of the data pertaining to that product code (i.e. price, unit of measure, etc.). In short the template field texbox is the control to bind the gridview.
After the row is populated I could click a button or link that would add that entire row to my gridview and then add another empty row where I could enter another product code... populate the row then add that row to the gridview. and so on...
View 5 Replies
Sep 10, 2010
Have spent hours trying to create a Dynamic Data Field Template holding a DropDownList which is extended by the AJAX Cascading DropDown extension.Final form holds multiple cascading dropdown boxes. User selects Country (Land) then Postcodes, Counties (Provincie) are populated. Once postcode is selected then towns (Plaats) are populated. The problem I am now facing is that the viewstate for the dropdown lists is not being saved/restored after an insert action or custom validation error. So basically the dropdown lists are being reset to their default values.Some code (if missing parts, just ask and I will post them) - Don't mind the code structures etc... needs some refactoring :)Attribute I created:
[Code]....
KlantMetaData (=> Klant is Dutch for Customer ):
[Code]....
DynamicDropDownList Control I created:
[Code]....
Dynamic FieldTemplate created for inserts:
[Code]....
EntityTemplate I created:
[Code]....
Webservice methods created:
[Code]....
Code in masterpage:
[Code]....
View 1 Replies
Feb 26, 2013
Am having one gridview. In that there is some details and one hyperlink (for Mail) and one Label (Mail Status).
The Mail status label have default value Not Sent for all fields. If i click the Mail link and send mail to the corresponding person, then the Default label value will be automatically changed its text to Sent.
View 1 Replies
Mar 2, 2011
I have two embedded dropdown lists in Gridview control. One gives you business channel options and the other represents products depending on the business channel selected.I am trying to use different data sources for product dropdown list depeding on what the user selected from the business channel drop down list. How could I do this. Here is my current code:
[Code]....
View 2 Replies
Sep 11, 2013
I want to add inputs from textboxes, ddl to datagridview without saving it to database by clicking on add button as many rows i want and later save it to database when clicked on save button....
View 1 Replies
Mar 10, 2013
[URL]
but i wanted know,how to update the country of any customer by just choosing it from the dropdownlist and updating it in the databse.
i wanted to add a common update below that updated the country of customers.
View 1 Replies
Feb 8, 2011
I hav a gridview in which i display the project name,created date,Start time ,end time ,total hours along with the task id field which is visible=false.
My starttime and endtime format is 2010-10-13 03:00:00,but i want to display these two fields in dropdownlist ie.,only i want to display the HH:MM:SS in dropdown so that when the user changes the time it should be automatically be reflected in the total hours(6:0) field after updating.pls tell me what i have to do to bring the Hours ,minutes and seconds in dropdownlist into the cells of gridview with the value in database ,how to write the code.
View 1 Replies
Feb 23, 2013
i have three saved values in databaseÂ
1,2,3Â
i want to showing status in label for 1 , Pending
 <asp:Label ID="lblLeaveStatus" Visible = "true" runat="server" Text='<%# Eval("Rec_Status").ToString() == "1" ? "Pending": Eval("Rec_Status") %>'>></asp:Label>
how can i show it with all 1,2,3?
View 1 Replies
Mar 21, 2011
Loading data into gridview, retieving data using linq,I have a method that accepts two paramters that would sort specific field and return the object to the gridviewi.e.
passing into the method GenerateData(string sortExp, string sortDir)
sortExp = "Name", sortDir = "descending"
linq query://works
[code]...
View 2 Replies
Feb 2, 2011
I have a gridview with several columns, 3 of which I'd like to sort. The source for the data is held in the session.
protected void MyGridHistorySort(object sender, GridViewSortEventArgs e)
{
var TheColumn = (e.SortExpression).ToString();
TheDataHistory = (List<ViewDataHistoryModel>)Session["SessionDataHistory"];
var test = "data.DataDate";
var NewDataSource = from data in TheDataHistory
orderby test
select data;
MyGridHistory.DataSource = NewDataSource;
MyGridHistory.DataBind();
DataDate is a valid column in the list but the orderby statement doesn't work. Ideally, I'd like it to sort with the variable TheColumn by writing something like test = "data."+TheColum; and then add a sort direction based on a boolean. I looked at the OrderBy extension method NewDataSource.OrderBy(test); but that doesn't work either.
View 3 Replies
Jul 20, 2010
see the following code:
[Code]....
I have another 6-8 fields for the same listview. Due to the amount of fields, some of the field heads are wrapping and are not following the center alignment.
Is there a way I can center align the fields?Also, my listview does not sort. Is there something I am missing here?
View 11 Replies
Jun 20, 2010
how to load Gridview HeaderText values from resource (.resx) files.I want to display headertext values for Gridview based on two different application dynamically.
View 6 Replies
Aug 4, 2010
I got a gridview -CompGrid, having 3 columns - Dept, Employees, Status.
The 'Status' tab need to be edited. So that I put a Dropdownlist as an Itemtemplate and connected the 'DataValueField' as 'Status'.
Now I can edit each row by row only. Some times it needs to update all the employees status in one department.
So that I placed 2 more dropdownlists in outside of gridview.
1. Department List, 2. Status List.
My requirement is this, When I select one department and corresponding status, it should update all the records of that department in the grid.
View 3 Replies
Mar 25, 2010
i have a gridview which consists of databounds and dropdownlist control. When I press the Add Grid Row Button, it will insert a row. Now my question is, if the user selected an item in dropdownList in the firstrow and the user click the AddGridRowBtn Again which will generate the 2nd row, how would i maintain the selectedItem in the dropdownlist after postback?
Source For Gridview:
[Code]....
Add Row Code
[Code]....
[Code]....
And For Grid Row Created Event
[Code]....
View 5 Replies
Jan 24, 2011
I need to sort dropdownlist alphabetically.
This is the code I am using ,its working but it brings numbers first and then alphabets like 1,2,abc,bcc..
[code]....
View 4 Replies
Sep 22, 2013
I am using this reference to make some application .. In this article we can only save with varchar data types
So how to use some other data types like datetime, money, int..or how to use parameters to convert data.
[URL] ....
View 1 Replies
Apr 1, 2011
I have a DetailsView on the page and I have made one of the fields a TemplateField. In the EditItemTemplate and InsertItemTemplate I have a DropdownList that is databound to a table in my Sql Server database. I wanted to add an initial value to the DropdownList
namely "- select -" .
I set the AppendDataBoundItems property to true and added the initial value as a ListItem.Markup of the DropdownList
<asp:DropDownList ID="DropDownList_HP" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlDataSource_HP" [code]...
This works fine for new input. The problem is however that the database already has records that were entered through a Windows Application and many of these records has a null value in this field and exceptions are thrown when I tried to open these records
and the system tried to set the SelectedValue of the DropdownList.After some more searching I found this help
http://msdn.microsoft.com/en-us/library/ms366709.aspx
So I changed the ListItem in the DropDownList markup to the following:
<asp:DropDownList ID="DropDownList_RefHospDV4" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlDataSource_RefHosp" [code]...
This now solved the problem of opening a record where the value is null in the database, BUT now the RequiredFieldValidator is not validating anymore to make sure that a databound item is selected for this field and not the initial value "- select -". So basically now it is not checking anymore to see if valid input has been entered for the DropDownList and it accepts "- select -" thus it acts as if the field is not a required field anymore.
In short what is required is that I want to make sure that the user enters a valid selection in the DropDownList, but it must also cater for old records that do not have this field entered yet so that those old records can be opened in the DetailsView .Opening Old records (with null in that field):When these old records are opened in the DetailsView the DropDownlist should show "- select -" when the value in the database is null.
Saving records (old or new records):When saving the record in Insert mode or Update mode the RequiredFieldValidator should show that a valid input is not selected if the DropDownList is still on "- select -".
View 1 Replies
Jan 31, 2010
My database has 4 colums;
TraditionalID-------------TraditionalName------------Singles-----------Suppers
Singles and suppers are money fields for the price of same item. A bit like the price of a Small, Medium or Large item. What I would like to do is display the 'Singles' price and 'Suppers' price in seperate listitems so the user can choose 1 of them.
GridView:
Traditional Name__________Size
Chicken-------------------[DROPDOWNLIST]
DropDownList:
Price of Single is: £1.50
Price of Supper is: £2.50
My page loads up with the correct items in TraditionalName colum but the DropDownList is completely empty. I'm aware I don't have anything in for DataValueField and DataTextField but I have tried putting things in these attributes, like Suppers and Singles, but nothing works, so I have taken them out below.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="TraditionalID" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="TraditionalID" HeaderText="TraditionalID" InsertVisible="False" ReadOnly="True" SortExpression="TraditionalID" Visible="False" />
<asp:BoundField DataField="TraditionalName" HeaderText="Meal" SortExpression="TraditionalName" />
<asp:templateField HeaderText="Size">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2">
</asp:DropDownList>
<asp:HiddenField ID="RowTraditionalName" runat="server" Visible="false" Value='<%# Eval("TraditionalName") %>' />
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:The CodfatherConnectionString %>"
SelectCommand="SELECT Suppers AS Suppers, Singles AS Singles FROM [Traditional] WHERE TraditionalName = @TraditionalName">
<SelectParameters>
ControlParameter Name="TraditionalName" Type="String" ControlID="RowTraditionalName" PropertyName="Value" />
</SelectParameters>
</asp:SqlDataSource>
</ItemTemplate>
</asp:templateField>
</Columns>
</asp:GridView>
View 1 Replies
Mar 26, 2016
Multiple DropDownList in GridView populated with unique values in ASP.Net
View 1 Replies
Oct 19, 2010
How to make a sort (asc / desc) in my ListView through a dropdownlist?
View 2 Replies