Showing posts with label items. Show all posts
Showing posts with label items. Show all posts

Sunday, March 25, 2012

dropdownlist -default value!

hi ,

need your help please

I have got a dropdownlist which is getting it's items and values from the table with in SQL server , everything works fine.

I just want to be able to select default item , so when the page is loaded the dropdown list default will be that selected item.

as an exmple if the drop downlist items and values are as follow

item --> value
-------
city --> 1
tokyo --> 2
london -->3

these info is imported from the database
and I want by default tokyo to be selected

many thanks

M

------------
here is my code:


Dim sqlConnection As SqlConnection
Dim sqlDataAdapter As SqlDataAdapter
Dim sqlCommand As SqlCommand
Dim dataSet As DataSet
Dim dataTable As DataTable

sqlConnection = New SqlConnection("user id=sa;password=testfirm;database=ken_live;server=csfirm03")

'pass the stored proc name and SqlConnection
sqlCommand = New SqlCommand("Select * From _aci",sqlConnection)

'instantiate SqlAdapter and DataSet
sqlDataAdapter = New SqlDataAdapter(sqlCommand)
dataSet = New DataSet()

'populate the DataSet
sqlDataAdapter.Fill(dataSet, "AA")

'apply sort to the DefaultView to sort by CompanyName
dataSet.Tables(0).DefaultView.Sort = "bsheet"
city.DataSource = dataSet.Tables("AA").DefaultView

city.DataTextField ="bsheet" ' what to display
city.DataValueField ="bsheet" ' what to set as value

city.DataBind()


Dim li as ListItem

FOR EACH li in city.Items
IF li.value = 2 THEN
li.selected = true
END IF
NEXT

|||I would also advise using a DataReader object rather than a DataSet and DataAdapter. The DataReader is much faster and does not use nearly as much resources. Also be sure to clean up after you use the objects, for example:


city.DataBind()

sqlCommand.Dispose
sqlCommand = Nohting

sqlDataAdapter.Dispose
sqlDataAdapter = Nothing

dataSet.Dispose
dataSet = Nothing

sqlConnection.Close
sqlConnection = Nothing

HTH|||------ Edited by Colt ------
<code/> tag was added
------ Edited by Colt ------

thanks for the reply

I've changed the code, ( no error messages ) but no effect almost


Dim sqlConnection As SqlConnection
Dim sqlDataAdapter As SqlDataAdapter
Dim sqlCommand As SqlCommand
Dim dataSet As DataSet
Dim dataTable As DataTable
Dim li as listitem

sqlConnection = New SqlConnection("user id=sa;password=testfirm;database=ken_live;server=csfirm03")

'pass the stored proc name and SqlConnection

sqlCommand = New SqlCommand("Select * From _aci",sqlConnection)

'instantiate SqlAdapter and DataSet

sqlDataAdapter = New SqlDataAdapter(sqlCommand)
dataSet = New DataSet()

'populate the DataSet

sqlDataAdapter.Fill(dataSet, "AA")

'apply sort to the DefaultView to sort by CompanyName

dataSet.Tables(0).DefaultView.Sort = "bsheet"

city.DataSource = dataSet.Tables("AA").DefaultView

city.DataTextField ="bsheet" ' what to display

city.DataValueField ="bsheet" ' what to set as value

for each li in city.items
if li.value="CITY" then
li.selected=true
end if
next

city.DataBind()

|||The DataBind() should preceed the For Loop that is selecting the default value.

city.DataBind()

for each li in city.items

if li.value="CITY" then

li.selected=true

end if

next

|||thanks again for following the case
but still the porblem does exist ( no error messages but no effect as well )

code:

session("A")="0"

'object vars
Dim sqlConnection As SqlConnection
Dim sqlDataAdapter As SqlDataAdapter
Dim sqlCommand As SqlCommand
Dim dataSet As DataSet
Dim dataTable As DataTable
Dim li as listitem

sqlConnection = New SqlConnection("user id=sa;password=testfirm;database=ken_live;server=csfirm03")

'pass the stored proc name and SqlConnection

sqlCommand = New SqlCommand("Select * From _aci",sqlConnection)

'instantiate SqlAdapter and DataSet

sqlDataAdapter = New SqlDataAdapter(sqlCommand)
dataSet = New DataSet()

'populate the DataSet

sqlDataAdapter.Fill(dataSet, "AA")

'apply sort to the DefaultView to sort by CompanyName

'dataSet.Tables(0).DefaultView.Sort = "bsheet"

city.DataSource = dataSet.Tables("AA").DefaultView

city.DataTextField ="bsheet" ' what to display

city.DataValueField ="bsheet" ' what to set as value

city.DataBind()

for each li in city.items

if li.value="CITY" then

li.selected=true

end if

next|||As you had presented earlier, the Value property of the DDL was populated with a numeric value and the Text property was propulated with the character description (i.e., CITY).


li.value = 2

or you can use

li.text = "CITY"

HTH|||hi again :(

it didn't work.

always it is coming up wit it's own default one ( which is the fist row of data in database)

please , please , any alternative way

again I'm no getting any error messages

many thanks|||Please post your current code.|||


public Sub page_load(sender As Object, e As EventArgs)

If Not Page.IsPostback Then

session("A")="0"

'object vars
Dim sqlConnection As SqlConnection
Dim sqlDataAdapter As SqlDataAdapter
Dim sqlCommand As SqlCommand
Dim dataSet As DataSet
Dim dataTable As DataTable

sqlConnection = New SqlConnection("user id=sa;password=testfirm;database=ken_live;server=csfirm03")

'pass the stored proc name and SqlConnection

sqlCommand = New SqlCommand("Select * From _aci",sqlConnection)

'instantiate SqlAdapter and DataSet

sqlDataAdapter = New SqlDataAdapter(sqlCommand)
dataSet = New DataSet()

'populate the DataSet

sqlDataAdapter.Fill(dataSet, "AA")

'apply sort to the DefaultView to sort by CompanyName

'dataSet.Tables(0).DefaultView.Sort = "bsheet"

city.DataSource = dataSet.Tables("AA").DefaultView

city.DataTextField ="bsheet" ' what to display

city.DataValueField ="bsheet" ' what to set as value

city.DataBind()

sqlCommand = New SqlCommand("select distinct datepart(yy,dateincur) as tempdate from ken_non_matter where nonmat in (935,1035,1040) order by datepart(yy,dateincur) desc",sqlConnection)

sqlDataAdapter = New SqlDataAdapter(sqlCommand)
dataSet = New DataSet()

'populate the DataSet

sqlDataAdapter.Fill(dataSet, "tempdate")

'apply sort to the DefaultView to sort by CompanyName

' dataSet.Tables(0).DefaultView.Sort = "tempdate"

year.DataSource = dataSet.Tables("tempdate").DefaultView

year.DataTextField ="tempdate" ' what to display

year.DataValueField ="tempdate" ' what to set as value

year.DataBind()

End if

for each li in city.items

if li.value="CITY" then

li.selected=true

end if

next

End Sub

|||As you had presented earlier, the Value property of the DDL was populated with a numeric value and the Text property was propulated with the character description (i.e., CITY).

li.value = 2

or you can use

li.text = "CITY"

You are using li.value="CITY" (this is wrong according to your previous posts)

USE li.value = 2

HTH|||You shouldn't need to loop through the liost collection, either.

After you databind (and you should always bind the list before you attempt to set a default value), simply do the following:

city.Items.FindByValue("YOUR VALUE OR FIELDNAME GOES HERE").selected = true;

You can also use FindByText, if you prefer (city.Items.FindByText("text").selected = true)

If the ddl might have already contained a selected item, be sure to use ClearSelection first, or you'll throw an error...|||this is going arround

I manage to find where I'm going wrong but don't know how to fix it

for each li in city.items

If (li.text = "CITY ") then
li.selected=true
response.write(li.value) ' just Entered it as a test ! which doesn't print at all

End if

next

It runs the FOR loop fine but doesn't enter the IF statment.

just for test if I add

for each li in city.items

response.write("-"+li.value+"-")

if (li.text = "CITY ") then
li.selected=true
response.write(li.value) ' just Entered it as a test ! which doesn't print at all

End if

next

it will print

-AFSC --CITY --HKONG --INDIA --NZ -

whitch there is a space after the string therefore , I add a space after the 'city ' in my code

for each li in city.items

response.write("-"+li.value+"-")

if (li.text = "CITY ") then
li.selected=true
response.write(li.value) ' just Entered it as a test ! which doesn't print at all

End if

next

but still it is not entering the IF section

any ideas|||You're writing too much code. Try the method I posted above...|||it is small code but I've explained it,
it doesn't run

Friday, February 17, 2012

Drilldowns

I have a list of items. Some of the items would be a good candidate for the
drilldowns because the item name is the same. How can I only enable the
items with the same item name to be group together with a drilldown?I am not sure I truly understand your question, but I'll give this a stab
Create a grouping within your table. and Group on the name. Add the Name
field to the group header row. Select the Detail row and set the visibility
hidden to true, and choose the textbox with the group value (from the group
header) as the toggle item.
--
Wayne Snyder MCDBA, SQL Server MVP
Mariner, Charlotte, NC
I support the Professional Association for SQL Server ( PASS) and it''s
community of SQL Professionals.
"David" wrote:
> I have a list of items. Some of the items would be a good candidate for the
> drilldowns because the item name is the same. How can I only enable the
> items with the same item name to be group together with a drilldown?|||I created a sample RDL which does what you want, and posted it on
www.msbicentral.com, it is in the downloads section
--
Wayne Snyder MCDBA, SQL Server MVP
Mariner, Charlotte, NC
I support the Professional Association for SQL Server ( PASS) and it''s
community of SQL Professionals.
"David" wrote:
> I have a list of items. Some of the items would be a good candidate for the
> drilldowns because the item name is the same. How can I only enable the
> items with the same item name to be group together with a drilldown?

Drilldown in parameter pick lists.

Is it possible to get drilldown functionallity in a parameter pick
list?
So that it is possible to expand/collapse items just like in e.g pivot
table?
Like:
+ All Time
- 2000
- Jan
- Feb
- Mar
etc
- 2001
- Jan
- Feb
- Mar
etcHi,
No, you need to expand all the values in a single query for drop down. May
be you can have two parameters
one for year and second for month. or otherwise list all the year and
months in one query.
Amarnath
"Jan" wrote:
> Is it possible to get drilldown functionallity in a parameter pick
> list?
> So that it is possible to expand/collapse items just like in e.g pivot
> table?
> Like:
> + All Time
> - 2000
> - Jan
> - Feb
> - Mar
> etc
> - 2001
> - Jan
> - Feb
> - Mar
> etc
>|||Ok, thanks.
But it would had been a great feature though :-)|||If you really need that functionality, you can always roll your own asp.net
page with your server controls the way you want, then set up the selection or
button click event to call the report and pass in the parameters to the
ReportServer via URL api, or web service.
--
Regards,
"Jan" wrote:
> Is it possible to get drilldown functionallity in a parameter pick
> list?
> So that it is possible to expand/collapse items just like in e.g pivot
> table?
> Like:
> + All Time
> - 2000
> - Jan
> - Feb
> - Mar
> etc
> - 2001
> - Jan
> - Feb
> - Mar
> etc
>