• 0

[C# / ASP.Net] Duplicated Datagrid Bound Column


Question

Hey all,

Probably a easy answer to this but its gone over my head. i guess its because im just coding the data to be bound directly to the data grid and not enforcing it to the correct column.

what ive tried to do is bind data depending on a SQL where statement to a datagrid. this works fine, but when i put in boundcolumns to have distinct headers and link the data to those colums it does to copies of the data, on correctly in the column and the other next to it.

Code is as follows-

in the aspx side:

<asp:DropDownList id="UserList" runat="server" DataTextField="Username" DataValueField="UserID" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="UserList_SelectedIndexChanged">
		<asp:ListItem Value="0">- Please Select A User</asp:ListItem>
		</asp:DropDownList>
		<br/><br/>
		<asp:DataGrid id="GridData" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" BorderWidth="1" BorderColor="black">
			<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
			<EditItemStyle BackColor="#2461BF" />
			<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
			<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
			<AlternatingItemStyle BackColor="White" />
			<ItemStyle BackColor="#EFF3FB" />
			<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

			<Columns>

			<asp:BoundColumn DataField="image" SortExpression="Image ID" HeaderText="Image ID" >
				<ItemStyle HorizontalAlign="Center" />
			</asp:BoundColumn>

			<asp:BoundColumn DataField="date_labelled" SortExpression="Date Labelled" HeaderText="Date Labelled" >
				<ItemStyle HorizontalAlign="Left" />
			</asp:BoundColumn>

			<asp:BoundColumn DataField="label_given" SortExpression="Label Given" HeaderText="Label Given" >
				<ItemStyle HorizontalAlign="Left" />
			</asp:BoundColumn>			

			<asp:BoundColumn DataField="confidence" SortExpression="Self Consistency" HeaderText="Self Consistency" >
				<ItemStyle HorizontalAlign="Left" />
			</asp:BoundColumn>



		</Columns>

		</asp:DataGrid>

and in the c# side:

public partial class Default3 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
	{
		if( ! IsPostBack)
		{
			string connection = WebConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;

		SqlConnection conn = new SqlConnection(connection);

		conn.Open();

		SqlCommand command = new SqlCommand("SELECT first_name, user_ID FROM users", conn);
		SqlDataAdapter adapter = new SqlDataAdapter(command);
		DataSet data = new DataSet(); adapter.Fill(data);

		UserList.DataSource = data;
		UserList.DataValueField = "user_ID";
		UserList.DataTextField = "first_name";
		UserList.DataBind();

		conn.Close();
		}
	}

protected void UserList_SelectedIndexChanged(Object sender, EventArgs e)
{
if(UserList.SelectedValue != "")
   {
	   // putting connection code here for tutorial
	   string connection = WebConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;
	   SqlConnection conn = new SqlConnection(connection);
	   SqlCommand cmd = new SqlCommand("SELECT image, date_labelled, label_given, confidence FROM labelled_specimens WHERE taxonomist = @UserID", conn);
	   cmd.Parameters.AddWithValue("@UserID",UserList.SelectedValue);

	   conn.Open();
	   SqlDataReader reader = cmd.ExecuteReader();
	   GridData.DataSource = reader;

	   GridData.DataBind();


	   reader.Close();
	   conn.Close();
	}

if more code is required just let me know. im sure its something simple that ive overlooked.... but after a while it cant make head or tail of it.

thanks again!

Edited by Cheungo

3 answers to this question

Recommended Posts

  • 0

The reason columns are being duplicated is the AutoGenerateColumns property of the DataGrid. The default value for the property is true. So just add this attribute to asp:DataGrid: AutoGenerateColumns="False".

Second thing I noticed is SortExpression. It should reflect the column names.

  • 0
  amrinders87 said:
The reason columns are being duplicated is the AutoGenerateColumns property of the DataGrid. The default value for the property is true. So just add this attribute to asp:DataGrid: AutoGenerateColumns="False".

Second thing I noticed is SortExpression. It should reflect the column names.

haha!! thanks very much! i figured it would be something small... :s you have no idea how much that helps!!!!

ah oks. jut a quick question, what exactly does the sort expression do? just automatically arrange that colum via the vaule inside the speech marks?

  • 0
  Cheungo said:
haha!! thanks very much! i figured it would be something small... :s you have no idea how much that helps!!!!

ah oks. jut a quick question, what exactly does the sort expression do? just automatically arrange that colum via the vaule inside the speech marks?

Glad I could help you out.

Sort expression is used for sorting. In your case it really won't matter since they way you are databinding. If you want to add more features such as sorting, paging, I suggest you look into using the GridView control.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft's new AI tools: What "Researcher" and "Analyst" mean for your work by Paul Hill Microsoft has announced the general availability of two new reasoning AI agents called Researcher and Analyst. Both were previously available for Microsoft 365 Copilot Frontier members, but now they’re available for all Microsoft 365 Copilot license holders. Researcher is capable of multi-step research by combining OpenAI’s deep research model with Microsoft 365 Copilot’s orchestration and deep search capabilities. The Analyst agent can think like a data scientist, giving you insights in minutes from raw data. Analyst is built on OpenAI’s o3-mini. Microsoft says it can run Python to tackle the most complex data queries and you can view the code it’s running to verify its work in real time. Who it affects, and how While Frontier members have had access to these agents since April, they’ve only just been announced for general availability. The Copilot in question is not Microsoft’s free Copilot either, but the Copilot that comes as part of Microsoft 365 and includes additional features. To access it, you will have to pay for a $30 per month paid yearly subscription. Existing customers should now have access to both of these agents. While there is certainly angst in the world about the influence of AI on our jobs, Microsoft still maintains that it’s an assistant tool. These two new agents look set to benefit professionals across a range of roles including researchers and strategists, data analysts and scientists, sales and marketing teams, and anyone who just wants to summarize or synthesize information fast. The Researcher agent is helpful for gathering insights, preparing for negotiations, and assessing impacts such as the impact of tariffs on businesses. Meanwhile the Analyst agent can be used to convert raw data into actionable insights, identifying customer behaviors, and visualizing trends. It’s not all good news, Microsoft does have some limitations in place to ensure reliability of its service for all customers. The Redmond giant explains that the pre-pinned agents can run up to 25 combined queries per month - so that’s not 25 queries per agent, it’s for both together, each month. Additionally, Researcher supports 37 languages, but Analyst only supports eight, with more coming soon. Why it's happening Agents have been all the rage since the end of 2024 when figures in big tech declared that 2025 would be the year of agentic AI. Agents are capable of multi-step work and bring us closer to the goal of artificial general intelligence (AGI). These agents that Microsoft has unveiled are possible now thanks to the development of OpenAI’s deep research model and o3-mini, which also reasons. Earlier this year, Microsoft declared that it wanted to empower employees everywhere with AI agents and the release of Researcher and Analyst goes a long way in doing this. They will be beneficial for employees in many different fields and have the potential to free up a lot of time for more beneficial work. Customers in the Frontier program, Microsoft said, found these new tools to be highly effective for complex analytical work. This is great for Microsoft financially because it shows clear demand for such tools, justifying AI’s upfront development costs. These agents also help Microsoft keep up against the competition, which is also aggressively pursuing agents. What to watch for Microsoft said that its Researcher agent is much more accurate than everything that came before, thanks to the time it spends thinking about its answer. However, AI does still possess the ability, just like humans, to make mistakes. Verifying the creations of these agents is still crucial when it comes to anything mission critical. The Analyst agent’s ability to let the user see the steps and which Python code it executes is very good for transparency and can help combat errors if things ever start to go wrong with the agent’s reasoning. This could help to build trust among customers who need to use the Analyst agent and could set Microsoft’s offering apart from the competition, giving it an edge. Another thing customers should be aware of is the prompt they use matters. Microsoft tries to guide customers along with sample prompts but to get the most from these tools, users will need to know how to create effective and precise prompts. The good thing is that these bots are spoken with natural language, so it’s just a matter of being articulate and precise when you give a prompt. It will certainly be interesting to see how agents like these continue to affect employees’ job security in the future. While AI can certainly be helpful, if it develops to a point where an employer can effectively hire AI for a low cost to do the same work, then it could lead to massive displacement, with not enough new jobs for people to move into. This point has recently been elucidated by Anthropic’s CEO Dario Amodei. Source: Microsoft
    • I'm wondering if they are doing this as a "backup" in case CISA ceases to exist. It almost did recently due to funding and it's future is shaky. CISA - https://www.cisa.gov/known-exploited-vulnerabilities-catalog Example "CVE-2023-39780" https://www.cve.org/CVERecord?id=CVE-2023-39780 ASUS RT-AX55 Routers OS Command Injection Vulnerability
    • Over regulation is bad. That's why the EU is behind the US. But, it's a good thing the EU stepped in, in this case.
  • Recent Achievements

    • One Year In
      WaynesWorld earned a badge
      One Year In
    • First Post
      chriskinney317 earned a badge
      First Post
    • Week One Done
      Nullun earned a badge
      Week One Done
    • First Post
      sultangris earned a badge
      First Post
    • Reacting Well
      sultangris earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      173
    2. 2
      ATLien_0
      126
    3. 3
      snowy owl
      123
    4. 4
      Xenon
      119
    5. 5
      +Edouard
      91
  • Tell a friend

    Love Neowin? Tell a friend!