|
 |
ASP.NET 1.0 and 1.1 Basics ASP.NET discussion for users new to coding in ASP.NET 1.0 or 1.1. NOT for the older "classic" ASP 3 or the newer ASP.NET 2.0. |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the ASP.NET 1.0 and 1.1 Basics section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
|
 |
|
|

May 5th, 2006, 10:24 AM
|
Authorized User
|
|
Join Date: May 2006
Location: , , .
Posts: 10
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Datagrid - selected item display advice
I'm trying to create a page that has a menu down the left side with one field within the dataset displaying, but clickable. OnClick, I'd like to have items displayed to the right (since one field is a pointer to an image, is it better to response.write or use a label?). I've tried using a datagrid with a dataset, but the buttonColumn doesn't let you dictate the text display from an item in the dataset? And, I can't get it to reflect to the right. I'd apprciate any advice. I'm giving it a shot, but I'm not getting very far.
Code:
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Import Namespace="System.Data" %>
<%@Page Language="VB" debug="True"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<script language="vb" runat="server">
Public strConn As String = "connection string stuff;"
Public cn As New SqlClient.SqlConnection(strConn)
Public cmd as sqlclient.sqlCommand
Public ds as New Dataset
Public varBkm as integer, varWID as integer, varPID as integer
Sub bindNav()
dim ds as New Dataset
Dim da as New SQLDataAdapter
da = New SqlDataAdapter("sp_eCoursePage", cn)
da.SelectCommand.CommandType = CommandType.StoredProcedure
Dim w_ID as New SqlParameter("@ID",varWid)
da.SelectCommand.Parameters.Add(w_ID)
da.Fill(ds, "pages")
dgNavList.DataSource=ds.tables("pages")
dgNavList.DataBind()
End Sub
Sub chgPage(Sender As Object, E As DataGridCommandEventArgs)
varBkm=e.Item.ItemIndex
txtBkm.text=varBkm
lblPgTitle.text=ds.tables("pages").rows(varBkm).item(2)
end sub
Sub Page_load(sender as Object, e as EventArgs)
If Not (IsPostBack)
if request("pid")="" or request("pid")="0" or request("wid")="" or request("wid")="0" then
response.redirect("login.asp")
else
varWid=request("wid")
varPid=request("pid")
txtPID.text=varPid
txtWID.text=varWid
if request("bkm")="" then varBkm=0 else varBkm=cint(request("bkm"))
txtBkm.text=varBkm
end if
bindNav()
End If
end sub
</script>
<form id="Form1" method="post" runat="server">
<asp:datagrid id="dgNavList" onEditCommand="chgPage" autogenerateColumns="False" runat="server">
<Columns>
<asp:BoundColumn DataField="pageID_pk" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="pgTitle" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="pgDesc" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="navTitle"></asp:BoundColumn>
<asp:ButtonColumn Text="Edit" CommandName="Edit" />
</Columns>
</asp:DataGrid><br />
pid: <asp:label id="txtPID" runat="server" visible="true" /><br />
wid: <asp:label id="txtWID" runat="server" visible="true" /><br />
bkm: <asp:label id="txtBkm" runat="server" visible="true" /><br />
<asp:Button id="btnChange" runat="server" Text="Update" /><br />
page title: <asp:label id="lblPgTitle" runat="server" />
<% 'response.write(ds.Tables("pages").Rows(CInt(varBkm)).Item(3)) %><br />
page image: <% 'response.write(ds.Tables("pages").Rows(CInt(varBkm)).Item(4)) %><br />
page content: <% 'response.write(ds.Tables("pages").Rows(CInt(varBkm)).Item(5)) %><br />
</form>
<html>
<body>
|

May 9th, 2006, 12:40 PM
|
Authorized User
|
|
Join Date: May 2006
Location: , , .
Posts: 10
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Everything's working except the first, last, next, prev buttons that are outside of the datagrid. The labels/buttons that are assigned value/commands respectively based on which row of the datagrid is selected. Then, if the button outside the datagrid is pushed, I want it to go to the correct row of the datagrid and display a hidden cell of the datagrid in a label field. What is the correct syntax for pulling a datagrid's hidden column based on a button click outside of the datagrid? If you look at the code below, the correct row in the datagrid is highlighted when I push the next button, but I can't get the syntax right to have the lblPgTitle display the hidden cell of the datagrid. (datagrid cell specifically is DataField="pgTitle")
sub pgNext(sender as object, e as eventArgs)
dim n as integer=cint(lblNext.text)
dgNavList.selectedIndex=n
lblPgTitle.text=dgNavList.item.cells(1).text
end sub
Many thanks for any help.... Janet
|

May 9th, 2006, 03:56 PM
|
Authorized User
|
|
Join Date: May 2006
Location: , , .
Posts: 10
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Clarification: I'm using the datagrid like a table of contents, then just want to reflect some non-visible boundColumns when the index changes for a label web control that's not within the datagrid. I don't need to run sql to get and rebind the dataset, since I'm displaying the whole dataset as a table of contents. I'm just trying to figure out the syntax so that when the index changes in the datagrid, I take the first cell and place the text into a label. Can't use datakeys, because the order is set by the data entry person, so next, prev would be screwed up. Really need to use index property?
Tried to switch gears a little, since I'm getting the selected index changed above with the buttons -using the OnSelectedIndexChanged="navNav"
Sub navNav(Sender as object, e as eventArgs)
Dim itemTitle As TableCell = dgNavList.Items[dgNavList.SelectedIndex].Cells(1)
lblPgTitle.text=convert.toString(itemTitle.text)
End Sub
Any other ideas?
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
 |