473,408 Members | 1,798 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,408 software developers and data experts.

Datagrid readonly or non visible data not passed back

Hi all,

Source code below. I am using an sqldatasorce to populate a datagrid.
I am using datakeyIds.

I am interested in two keys which I have added to the datakeyids,
however if either of the keys is not databound, set to visible=false
or readonly=true, they are unavailable as parameters in my update
statement.

Any ideas how/why this happens and how to get arround it..?

Thanks

Source...
Wrox Home

View Cart | My Account
Support | Contact Us
Search P2P for Advanced
Search

Members:
Participate in discussions or edit your profile.

Login:
Password:

Remember Me
Forgot Your Password?

New Users: Register Now

Forum Tools
View All Forums
View Active Topics
Archives
FAQ
Terms of Use

Get More Wrox For Less!

New Titles for ASP.NET
Professional Community Server
Professional Community Server

Professional ASP.NET 2.0 Databases
Professional ASP.NET 2.0 Databases

Wrox Programmers Reference Series - Learn tips and tricks from the
experts!

p2p.wrox.com Forums
P2P Forum ASP and ASP.NET ASP.NET 2.0 Beginner Missing
parameters in Datagrid .net 2
p2p Community Forums
Need to download code? View our list of code downloads.
New Topic Reply to Topic Printer Friendly
Author Previous Topic Topic Next Topic

kangarolf
Starting Member

1 Posts

Posted - 05/16/2007 : 07:24:56 AM Show Profile Reply with Quote
Hi all,

I have a problem in that in my datagrid any datakeys which are not
visible and editable in the datagrid (if the column visibility is set
to false or readonly is set to true) do not seem to be passed back to
the script and are unavailable as parameters for my updatecommand.

I have tried with and without OldValuesParameterFormatString and
ConflictDetection in the sqlSatasource. Any ideas.? Source below.

Thanks

<%@ Page Language="VB" ContentType="text/html"
ResponseEncoding="iso-8859-1" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
..grid {width:550px; border:1px solid;}
..grid td {vertical-align: top; }
..grid th {background-color:#0099FF; color:#FFFFFF;}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="grdOrders" AutoGenerateColumns="false"
runat="server" DataKeyIds="OrderID,AmazonID" DataSourceId="srcOrders"
CssClass="grid" autogenerateeditbutton="true" GridLines="Horizontal">

<Columns>

<asp:Boundfield DataField = "OrderID" HeaderText="OrderID"
readonly="true"/>

<asp:TemplateField HeaderText="IT Buy Address">
<ItemTemplate>
<%# Eval("add1") & "<br/>" & Eval("add2") & "<br/>" & Eval("add3")
& "<br/>" & Eval("city") & "<br/><strong>" & Eval("postcode") & "</
strong>" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Amazon Address">
<ItemTemplate>
<%# Eval("AOshipadd1") & "<br/>" & Eval("AOshipadd2") & "<br/>" &
Eval("AOshipadd3") & "<br/>" & Eval("AOshipcity") & "<br/><strong>" &
Eval("AOshippostcode") & "</strong>" %>
</ItemTemplate>

<edititemtemplate>

<asp:TextBox
id="AOshipadd1"
text='<%# Bind("AOshipadd1")%>'
runat="server" />
<asp:TextBox
id="AOshipadd2"
text='<%# Bind("AOshipadd2")%>'
runat="server" />
<asp:TextBox
id="AOshipadd3"
text='<%# Bind("AOshipadd3")%>'
runat="server" />
<asp:TextBox
id="AOshipcity"
text='<%# Bind("AOshipcity")%>'
runat="server" />
<asp:TextBox
id="AOshippostcode"
text='<%# Bind("AOshippostcode")%>'
runat="server" />
</edititemtemplate>
</asp:TemplateField>

<asp:Boundfield DataField = "ParcelNum" HeaderText="City Link ID" /
>

</Columns>

</asp:GridView>
<asp:SqlDataSource
id="srcOrders"
ConnectionString="MYConnString"

SelectCommand="Select * from Orders"
UpdateCommand="UPDATE ORders SET ParcelNum = @Parcelnum Where (OrderID
= @OrderID); UPDATE OTHER_ORDER_REPORT Set [ship-address-1] =
@AOshipadd1 Where [order-id] = @AmazonID"
Runat="server" />
</div>
</form>

</body>
</html>

May 16 '07 #1
7 1572
Server controls with visible=true don't get rendered to the client and,
naturally, don't come back in postbacks. Leave visible=false and hide the
columns with css rule display:none.

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
<Ro*********@googlemail.comwrote in message
news:11**********************@o5g2000hsb.googlegro ups.com...
Hi all,

Source code below. I am using an sqldatasorce to populate a datagrid.
I am using datakeyIds.

I am interested in two keys which I have added to the datakeyids,
however if either of the keys is not databound, set to visible=false
or readonly=true, they are unavailable as parameters in my update
statement.

Any ideas how/why this happens and how to get arround it..?

Thanks

Source...
Wrox Home

View Cart | My Account
Support | Contact Us
Search P2P for Advanced
Search

Members:
Participate in discussions or edit your profile.

Login:
Password:

Remember Me
Forgot Your Password?

New Users: Register Now

Forum Tools
View All Forums
View Active Topics
Archives
FAQ
Terms of Use

Get More Wrox For Less!

New Titles for ASP.NET
Professional Community Server
Professional Community Server

Professional ASP.NET 2.0 Databases
Professional ASP.NET 2.0 Databases

Wrox Programmers Reference Series - Learn tips and tricks from the
experts!

p2p.wrox.com Forums
P2P Forum ASP and ASP.NET ASP.NET 2.0 Beginner Missing
parameters in Datagrid .net 2
p2p Community Forums
Need to download code? View our list of code downloads.
New Topic Reply to Topic Printer Friendly
Author Previous Topic Topic Next Topic

kangarolf
Starting Member

1 Posts

Posted - 05/16/2007 : 07:24:56 AM Show Profile Reply with Quote
Hi all,

I have a problem in that in my datagrid any datakeys which are not
visible and editable in the datagrid (if the column visibility is set
to false or readonly is set to true) do not seem to be passed back to
the script and are unavailable as parameters for my updatecommand.

I have tried with and without OldValuesParameterFormatString and
ConflictDetection in the sqlSatasource. Any ideas.? Source below.

Thanks

<%@ Page Language="VB" ContentType="text/html"
ResponseEncoding="iso-8859-1" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
.grid {width:550px; border:1px solid;}
.grid td {vertical-align: top; }
.grid th {background-color:#0099FF; color:#FFFFFF;}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="grdOrders" AutoGenerateColumns="false"
runat="server" DataKeyIds="OrderID,AmazonID" DataSourceId="srcOrders"
CssClass="grid" autogenerateeditbutton="true" GridLines="Horizontal">

<Columns>

<asp:Boundfield DataField = "OrderID" HeaderText="OrderID"
readonly="true"/>

<asp:TemplateField HeaderText="IT Buy Address">
<ItemTemplate>
<%# Eval("add1") & "<br/>" & Eval("add2") & "<br/>" & Eval("add3")
& "<br/>" & Eval("city") & "<br/><strong>" & Eval("postcode") & "</
strong>" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Amazon Address">
<ItemTemplate>
<%# Eval("AOshipadd1") & "<br/>" & Eval("AOshipadd2") & "<br/>" &
Eval("AOshipadd3") & "<br/>" & Eval("AOshipcity") & "<br/><strong>" &
Eval("AOshippostcode") & "</strong>" %>
</ItemTemplate>

<edititemtemplate>

<asp:TextBox
id="AOshipadd1"
text='<%# Bind("AOshipadd1")%>'
runat="server" />
<asp:TextBox
id="AOshipadd2"
text='<%# Bind("AOshipadd2")%>'
runat="server" />
<asp:TextBox
id="AOshipadd3"
text='<%# Bind("AOshipadd3")%>'
runat="server" />
<asp:TextBox
id="AOshipcity"
text='<%# Bind("AOshipcity")%>'
runat="server" />
<asp:TextBox
id="AOshippostcode"
text='<%# Bind("AOshippostcode")%>'
runat="server" />
</edititemtemplate>
</asp:TemplateField>

<asp:Boundfield DataField = "ParcelNum" HeaderText="City Link ID" /
>>


</Columns>

</asp:GridView>
<asp:SqlDataSource
id="srcOrders"
ConnectionString="MYConnString"

SelectCommand="Select * from Orders"
UpdateCommand="UPDATE ORders SET ParcelNum = @Parcelnum Where (OrderID
= @OrderID); UPDATE OTHER_ORDER_REPORT Set [ship-address-1] =
@AOshipadd1 Where [order-id] = @AmazonID"
Runat="server" />
</div>
</form>

</body>
</html>

May 16 '07 #2
Thanks for the reponse..not really an adequate solution. I dont want
these data elements rendered anywhere even if 'hidden' by CSS. Ahy are
they not posted back if there are part of the DataKeyIds
declaration..? It also doesnt work if they are made visible but
READONLY.

Thank you

Rolf

May 16 '07 #3
Thanks for the response. It still doesnt explain why if the data is
part of the DataKeyIds declaration it is not available in the
postback. Also I may not want these data items rendered anywhere on
the page. 'Hiding' them with CSS is not an adequate solution, you
could simply turn off CSS and there they would be. Also it doesnt work
if the data is bound but marked as READONLY..still not posted back.

Thanks
Rolf

May 16 '07 #4
By any chance, do you mean DataKeyNames? Try changing DataKeyIds to
DataKeyNames and see if it works.

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
<Ro*********@googlemail.comwrote in message
news:11**********************@u30g2000hsc.googlegr oups.com...
Thanks for the reponse..not really an adequate solution. I dont want
these data elements rendered anywhere even if 'hidden' by CSS. Ahy are
they not posted back if there are part of the DataKeyIds
declaration..? It also doesnt work if they are made visible but
READONLY.

Thank you

Rolf

May 16 '07 #5
Sorry thats a typo..its DataKeyNames....and no it still doesnt work.

Thanks
May 16 '07 #6
The key fields value are kept in the ViewState. Do you have it enabled?

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
<Ro*********@googlemail.comwrote in message
news:11**********************@u30g2000hsc.googlegr oups.com...
Sorry thats a typo..its DataKeyNames....and no it still doesnt work.

Thanks


May 16 '07 #7
PROBLEM SOLVED

Hi there,

I have now solved this problem (bug or feature!) by going back through
and looking at examples and just slavishly changing anything that
looked different till it worked. The problem was my original query was
a join of three tables and it used table aliases. These messed up the
link between the DATAKEYNAMES and the column names somehow. I had to
include the SQL keyword AS to rename the column to its non-aliased
form.

So a query such as;
Select O.key, T.Productkey from Orders O Inner Join Transactions T ON
O.Key= T.ForeignKey

with DataKeyNames = "key,Productkey"

would fail, you have to reqrite the query as;
Select O.key AS key, T.Productkey as Productkey from Orders O Inner
Join Transactions T ON O.Key= T.ForeignKey

then the parameters are available for the updatecommand.

Thanks
Rolf

May 16 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: PeterZ | last post by:
G'day, After doing much searching and pinching bits of ideas from here there and everywhere I came up with a fairly 'clean' solution of including a comboBox into a dataGrid column. You can...
3
by: Newbie | last post by:
I am using a Datagrid to show the contents of a DataTable. But it seems like the Datagrid is not getting the contents of the Datatable when the button ( btnAddAnotherLaborCategory) is clicked. ...
1
by: jason | last post by:
The guts of the below asp.net vb code was pieced together from another thread - all due credit to it's original author. Thank you! I've modified it to maintain a small local Microsoft 2000...
2
by: jason | last post by:
Pardon my ignorance on this. The below code works, except, when I edit a record and update the two drop downs take the first entry in the dropdownlist if not selected. I'd also like the dropdown to...
5
by: tshad | last post by:
Is there a way to carry data that I have already read from the datagrid from page to page? I am looking at my Datagrid that I page through and when the user says get the next page, I have to go...
1
by: Gunjan Garg | last post by:
Hello All, I am working to create a generic datagrid which accepts a datasource(ListData - This is our own datatype) and depending on the calling program customizes itself for sorting,...
1
by: jimb | last post by:
I can get the dropdownlist into the datagrid, and I can populate it, but I can't read it. Anybody have a working example of a dropdownlist in an editable grid? Thanks. -- .....
6
by: Doug Bell | last post by:
Hi I have a DataGrid with some hidden columns and also some read Only and some ComboBox Columns. Sandard Tabbing through the Datagrid sees the focus go to the hidden columns requiring further...
0
by: RolfHerbert | last post by:
Hi all, I have a problem in that in my datagrid any datakeys which are not visible and editable in the datagrid (if the column visibility is set to false or readonly is set to true) do not seem...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.