C# - Binding To A List <string> Using DataBinder.Eval?
Sep 3, 2010
I have the following object:
CrossTabDataObject
{
string RowName{get;set;};
int RowId{get;set;}
List<string> CellContents = new List <string>();
//Constructor..... etc.
}
I'm building a dynamic crosstab grid using GridView in asp.net 3.5
I wish to bind to CellContents[0] for dynamic column 1, CellContents[1] for dynamic column 2 (dynamic column 0 is the RowName field from the CrossTabDataObject) etc. I am using:
This code is in the InstantiateIn function of the gridview as I'm creating drop down list templates in each cell of the crosstab.
I have code (not shown) that sets strSelectedID depending on the column being created.
When strSelectedID is equal to "RowName" for dynamic column [0] the DataBinder.Eval function works fine and sets boundValueObj as expected. The problem comes when strSelectedID is set to "CellContents[n]" where n is the Column Index.
DataBinder.Eval only works with properties and fields of objects. How do I get around this?
I have a listview control on an .aspx page. Inside this list view i want to check "Type" property which comes from database. here is the example code :
[code]...
As a last resort i tried to user DataBinder.Eval() but i get the exception "Expected class, delegate, enum, interface, or struct". What can i be doing wrong? Writing a function in code-behind isn't an option for me.
I've a asp.net linkbutton inside asp.net repeater control which renders multiple link buttons. I want to set the style of each and every linkbutton dynamically.
I am trying to access column value by using DataBinder.Eval on RowCommand event of Gridview. It always return NOT SET TO ANY INSTANCE error for eveytime. I know how to do this by employing a label control in ItemTemplate, but am trying to find a way to bypass.
Error returned by DataBinder.Eval(row.DataItem, "LinkToInvoice").ToString
the problem arise when this datacolumn in my database have a null value, it throws an error ....how can I get this to work so that DataBinder.Eval can take a null value?
i have one hidden field and i want to bind it with two values of my data base separated by an coma. some thing like ->asp:HiddenField ID="hfRstidDate" runat="server" Value=<%# DataBinder.Eval(Container.DataItem, "tsk_ID"),DataBinder.Eval(Container.DataItem, "Date_Worked").ToString())%>
I'm trying to bind a List<String> to a DropDownList in a user control. I think I'm doing the right thing, but it seems that after my code executes the bindings are cleared. Here's the code for review!
User control: <asp:DropDownList ID="subjectNameDropDown" runat="server"/> <asp:DropDownList ID="yearLevelDropDown" runat="server"/> Auto-generated designed code-behind: public partial class NewSiteMetadataUserControl { protected global::System.Web.UI.WebControls.DropDownList subjectNameDropDown; protected global::System.Web.UI.WebControls.DropDownList yearLevelDropDown; } Code-behind: public partial class NewSiteMetadataUserControl : UserControl { protected override void CreateChildControls() { subjectNameDropDown = new DropDownList(); yearLevelDropDown = new DropDownList(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); EnsureChildControls(); // Attempt 1 List<String> subjectNames = GetSubjectValues(); foreach (var subjectName in subjectNames) subjectNameDropDown.Items.Add(subjectName); subjectNameDropDown.DataBind(); // Attempt 2 List<String> yearLevels = GetYearLevelValues(); yearLevelDropDown.DataSource = yearLevels; yearLevelDropDown.DataBind(); } }
Should this approach work? If it should, how can I debug what happens after the code executes?
What I'm trying to do is if the "Name" column is empty then bind to "Other" column, otherwise bind to "Name" column. Anyone know the right syntax, keep getting object not set to reference. I'm doing this in VB.Net.
I have a label in a gridview where the text is set to <%Bind("lname")%> . I want to make it say thiis <%Bind("lname" + "fname")%>. I've been having a hard time making .net do this. I also want to add a "," or some other unrelated caracter?
The issue I am facing is that the current page URL is getting appended to the 'LinkAddress'(the URL being fetched from the database) and thus,the final URL formed is not a valid one.Can someone suggest how do I remove the current page URL? Is there any way it can be done without writing code in the code behind page?
But, the value of this string can be upto 80 characters. But, I cannot afford to have the column length to be so high. And, there are limitations so I cannot use Wrap="true" and limit the column width. So, I figured the solution could be to display only about 50 characters in the grid and display the entire string as a tool tip. I managed to do this by using this -
This displays the first 50 characters of the string in the grid column. And, the complete string is displayed as a tool tip when the mouse pointer hovers over the text. But, the problem arises when the string length is less than 50 characters. In this case, an exception is thrown. I tried modifying this piece of code to allow conditional display by checking for the string length. But, I could not get this to work. Is there a way to fix this problem? Can we call a javascript function within Eval() ?
I'm trying to add a parameter at the end of a url obtained from the database as follows:
This is giving error because of the ID value, which is an integer...how can I convert it to string here? I can do it in code behind, but I just want to know how it can be done within the Eval function...
I ran into this kind of situation many times without a nice solution. Binding a data source to a gridview and one of the column require nested query. Is it possible to have a callback function other than Eval()?
I have a class with all different kinds of data members, including a list of strings. When I bind the data to a GridView, I want to be able to separate out the list of strings into different columns in the GridView. These strings are more like flags, there is a max of 3 flags. The list could be empty, if no flags apply, or it could contain only one or two flags. How can I separate out these flags into different GridView columns? Do I need to do it in the OnRowDataBound event?
Current, my aspx code looks something like this. I want to be able to change the ImageUrl of the Image controls based on if the flag is raised or not.
I have a linq datasource which is configured to get all the rows from a table(Suppose i have two rows in a table (ID and Name),and when i bind theDataSource to a ListView i use
[Code]....
and this works fine for me.but the real prolem is here.I need to convert the return type of Eval to a string and then use a conditional logic to return the data(Yea... i know my explaination is not clear but the code below clears it out for you...lol).Now i want this.
<%string abcd=GetData(Eval("Name"));%>//in the aspx file --- I GET ERROR HERE //<%#string abcd=GetData(Eval("Name"))%>//in the aspx file -- tried this too but doesnt works public string GetData(object s)//in the code behind file
I have string which came from the database,now i want to compare each charater of the string with the radiobuttonlist value and check box list value and select both radiobutton list and checkboxlist.
Here i write down some code but its just select 2 item of the each radiobuttonlist and checked all checkboxlist.