[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Get Value in DataGrid

Posted on 2008-10-14
6
Medium Priority
?
302 Views
Last Modified: 2013-12-17
I am trying to change the Cell Color of my Data Grid depending on the value of a Cell and for some reason the value of my cell seems to be returning a null value.

The function DataGrid1_ItemCreated is called and this line should return the value of the cell, but is returning "".
string test = e.Item.Cells[0].Text;

The Data Grid does load with no issues after proceeding through this function.

Any help would be greatly appreciated, I have included the full code for your review.


public class BranchLicensing : System.Web.UI.Page
	{
 
		string PageID = "BranchLicensing.aspx.cs";
		protected System.Web.UI.WebControls.DataGrid DataGrid1;
 
		GatewaySales.Modules.Common.Library objLibrary = new GatewaySales.Modules.Common.Library();
		GatewaySales.Modules.Common.BaseSecurity  objBaseSecurity = new GatewaySales.Modules.Common.BaseSecurity();
 
 
		private void Page_Load(object sender, System.EventArgs e)
		{
			// Put user code to initialize the page here
			PageInit();
 
			if(!IsPostBack)
			{
				LoadBranchLicenses();
			}
		}
 
		public System.Data.DataTable LoadBranchLicenses() 
		{
			// connect to database
			SqlConnection conn = new System.Data.SqlClient.SqlConnection(ConfigurationSettings.AppSettings["Integra_ConnectionString"]);
			conn.Open();
			string selectstmt = "";
			selectstmt = "select State, CONVERT (varchar,ExpirationDate, 101) as ExpirationDate, Lender1stMtg, Lender2ndMtg, Broker1stMtg, Broker2ndMtg from custom_licensingbranch where branchid = 51 order by state";
			
			SqlCommand myCommand = new SqlCommand(selectstmt,conn);
			SqlDataAdapter adapter = new SqlDataAdapter(myCommand);
			System.Data.DataTable BranchLicenses = new System.Data.DataTable(); 
			adapter.Fill(BranchLicenses);
 
			DataGrid1.DataSource = BranchLicenses;
			DataGrid1.DataBind();
				
			conn.Close();
			
			return BranchLicenses;
		}
 
		protected void DataGrid1_ItemCreated( System.Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e )  
		{
			
			if ( e.Item.ItemType == ListItemType.Item ||
				e.Item.ItemType == ListItemType.AlternatingItem ||
				e.Item.ItemType == ListItemType.SelectedItem )  
			{
 
				string test = e.Item.Cells[0].Text;
 
				if(test == "PA")
				{
					e.Item.Cells[0].ForeColor = System.Drawing.Color.Green;
				
				}
			}
 
		}
 
 
 
 
 
 
 
<form id="Form1" method="post" runat="server" class="appbg">
			<table width="300" cellpadding="0" cellspacing="0" bgcolor="#ffffff" class="appbg">
				<TBODY>
					<tr>
						<td colspan="3" width="100%">
							<!--#include file="../../includes/topNav.aspx"-->
						</td>
					</tr>
					<tr>
						<td width="1%" valign="top">
							<!--#include file="../../includes/leftNav.aspx"-->
						</td>
						<td width="1%" valign="top">
							&nbsp;&nbsp;
						</td>
						<td width="1%">
							<!-- ******* Contents will go here *********** !-->
							<div style="BORDER-RIGHT:black 0px solid; BORDER-TOP:black 0px solid; BORDER-LEFT:black 0px solid; WIDTH:633px; BORDER-BOTTOM:black 0px solid; HEIGHT:445px">
								<table border="0" width="100%">
									<TBODY>
										<tr>
											<td class="contentbg"><b><IMG src="<%=getImagePath()%>/Images/PageHead.bmp">&nbsp;State Desk Licensing Information</b><HR>
											</td>
										</tr>
										
										<tr>
											<td>
												<asp:datagrid id="DataGrid1" AllowPaging="False" runat="server" ShowFooter="True"
													AllowSorting="True" GridLines="Horizontal" CellPadding="2" BorderWidth="1px" Width="100%"
														AutoGenerateColumns="False" OnItemDataBound="DataGrid1_ItemCreated">
												<SelectedItemStyle></SelectedItemStyle>
												<AlternatingItemStyle BackColor="Silver"></AlternatingItemStyle>
												<HeaderStyle CssClass="sectionheader"></HeaderStyle>
												<Columns>
													<asp:TemplateColumn HeaderText="State" HeaderStyle-Font-Bold="True">
													<ItemTemplate>
														<asp:Label Runat="server" ID="dglstate"><%# DataBinder.Eval(Container, "DataItem.State") %>
													</asp:Label>
													</ItemTemplate>
													</asp:TemplateColumn>
													<asp:TemplateColumn HeaderText="Expiration Date" HeaderStyle-Font-Bold="True">
														<ItemTemplate>
															<asp:Label Runat="server" ID="dglexpdate"><%# DataBinder.Eval(Container, "DataItem.ExpirationDate") %>
															</asp:Label>
														</ItemTemplate>
													</asp:TemplateColumn>
													<asp:TemplateColumn HeaderText="1st Lien Mtg License?" HeaderStyle-Font-Bold="True">
														<ItemTemplate>
															<asp:Label Runat="server" ID="Label3"><%# DataBinder.Eval(Container, "DataItem.Lender1stMtg") %>
															</asp:Label>
														</ItemTemplate>
													</asp:TemplateColumn>
													<asp:TemplateColumn HeaderText="2nd Lien Mtg License?" HeaderStyle-Font-Bold="True">
														<ItemTemplate>
															<asp:Label TabIndex="0" Runat="server" ID="Label4"><%# DataBinder.Eval(Container, "DataItem.Lender2ndMtg") %>
															</asp:Label>
														</ItemTemplate>
													</asp:TemplateColumn>
													<asp:TemplateColumn HeaderText="1st Lien Broker License?" HeaderStyle-Font-Bold="True">
														<ItemTemplate>
															<asp:Label TabIndex="0" Runat="server" ID="Label5"><%# DataBinder.Eval(Container, "DataItem.Broker1stMtg") %>
															</asp:Label>
														</ItemTemplate>
													</asp:TemplateColumn>
													<asp:TemplateColumn HeaderText="2nd Lien Broker License?" HeaderStyle-Font-Bold="True">
														<ItemTemplate>
															<asp:Label TabIndex="0" Runat="server" ID="Label6"><%# DataBinder.Eval(Container, "DataItem.Broker2ndMtg") %>
															</asp:Label>
														</ItemTemplate>
													</asp:TemplateColumn>
												</Columns>									
											</asp:DataGrid>
											</td>
										</tr>
										<tr>
											<td>
												
												<P></form>

Open in new window

0
Comment
Question by:dtadin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 13

Expert Comment

by:crazyman
ID: 22712566
Do it in ItemDataBound not ItemCreated.
0
 

Author Comment

by:dtadin
ID: 22712752
I am using OnItemDataBound="DataGrid1_ItemCreated"



thank you
<asp:datagrid id="DataGrid1" AllowPaging="False" runat="server" ShowFooter="True"
													AllowSorting="True" GridLines="Horizontal" CellPadding="2" BorderWidth="1px" Width="100%"
														AutoGenerateColumns="False" OnItemDataBound="DataGrid1_ItemCreated">

Open in new window

0
 
LVL 16

Expert Comment

by:Gyanendra Singh
ID: 22713232
you are using template .. that is why value is not bind to cell

you need to use FindControl() and then cast the object....for example..

((Label)e.Item.FindControl("lblName")).Text
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 

Author Comment

by:dtadin
ID: 22713750
I tried updating my function to

  string test = ((Label)e.Item.FindControl("dglstate")).Text;

Still no luck, test is still returning a value of "".

0
 
LVL 16

Accepted Solution

by:
Gyanendra Singh earned 750 total points
ID: 22714196
can you check if your control support e.row
string test = ((Label)e.Row.FindControl("dglstate")).Text;
0
 

Author Comment

by:dtadin
ID: 22714229
Nope, I get "System.Web.UI.WebControls.DataGridItemEventArgs' does not contain a definition for 'Row'"



0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question