Set parameter value of SqlDataSource to SelectedValue of another page control

You have a DetailsView control with edit / add and all the other goodness enabled, but when adding a new record you want a non-visible field to get it’s value from another control like the SelectedValue of a GridView or a DropDownList in the InsertParameters collection of your SqlDataSource just use a ControlParameter instead

[codesyntax lang="csharp"]
<InsertParameters>
    <asp:ControlParameter ControlID="ddlYourList" Name="ParameterName"
        PropertyName="SelectedValue" Type="Int32" />
    <asp:Parameter Name="SomeDetailsViewParameter" Type="String" />
</InsertParameters>
[/codesyntax]
By |July 15th, 2011|ASP.NET, C#|Comments Off

Bind a Dataset to a Listbox using OleDbDataAdapter

Need to bind a web control to an OleDb data source in your C# web application, here’s the magic. In this case I am binding a ListBox control with an ID of ListBox1 to the ProductName field in the Products table of our old friend the Northwind database.

These are the using statements that you need to apply including the ConfigurationManager to get your web.config connection string conveniently

[codesyntax lang="csharp"]
using System.Data;
using System.Data.OleDb;
using System.Configuration;
[/codesyntax]

Here is our class that does all the work

[codesyntax lang="csharp"]
protected void DataSetFromOleDbDemo()
    {
      string strSQL = "SELECT * FROM Products WHERE CategoryID = 1";

      var conString = ConfigurationManager.ConnectionStrings["Northwind"];
      string Conn = conString.ConnectionString;

      try
      {
        using (OleDbDataAdapter adapter = new OleDbDataAdapter(strSQL, Conn))
        {
          DataSet ds = new DataSet();
          adapter.Fill(ds, "ProductInfo");

          foreach (DataRow dr in ds.Tables["ProductInfo"].Rows)
          {
            ListBox1.Items.Add(dr["ProductName"].ToString());
          }
        }
      }
      catch (Exception)
      {

        throw;
      }
    }
[/codesyntax]

And your OleDb connection string to put in the connectionStrings section of your web.config is as follows

[codesyntax lang="xml"]
<connectionStrings>
    <add name="Northwind" connectionString="Provider=SQLOLEDB;server=YOURSERVER;database=Northwind;uid=USERNAME;password=PASSWORD;" />
</connectionStrings>
[/codesyntax]

 

 

By |July 6th, 2011|C#|Comments Off

Populate a DropDownList with the names of installed fonts with C#

Need to get a list of available fonts for your application?, this little gem will retrieve the font names of all installed fonts on your server (asp.net) and use them to populate a DropDownList.

These are the namesspaces you need to import to get this running.

[codesyntax lang="csharp"]
using System.Drawing;
using System.Drawing.Text;
[/codesyntax]

Assuming your DropDownList has an ID of “ddl”

[codesyntax lang="csharp"]
<asp:DropDownList ID="ddl" runat="server" />
[/codesyntax]

Your codebehind just needs an installed font collection object created with a foreach loop to go through in your Page_Load event.

[codesyntax lang="csharp"]
      InstalledFontCollection fonts = new InstalledFontCollection();

      foreach (FontFamily family in fonts.Families)
      {
         ddl.Items.Add(family.Name);
      }
[/codesyntax]
By |July 4th, 2011|C#|Comments Off

Binding a GridView in C# with a parameterized command

With two controls on your asp.net page a DropDownList (ID ddlDropDownList) and a GridView (ID gvGridView), to retrieve the SelectedValue from the DropDownList and use that in the where clause of the query used to bind data to your GridView the following will help.

Required using statements

[codesyntax lang="csharp"] using System.Data;
using System.Data.SqlClient;
using System.Configuration;
[/codesyntax]

ADO.NET block of code to base your bind on using an SQLDataAdapter so you can still have paging on the GridView.

[codesyntax lang="csharp"]
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CONNSTRINGNAME"].ConnectionString))
    {
      using (SqlCommand cmdGrid = new SqlCommand("SELECT * FROM TABLE WHERE FIELD = @PARAMETER", con))
      { 
      cmdGrid.Parameters.AddWithValue("@PARAMETER", ddlDropDownList.SelectedValue);
      con.Open();

      using (SqlDataAdapter da = new SqlDataAdapter(cmdGrid))
      {
        DataTable dt = new DataTable();
        da.Fill(dt);           
        gvGridView.DataSource = dt;
        gvGridView.DataBind();
      }
      }
    }
[/codesyntax]

The structure of the code is with using statments to ensure the garbage collection is carried out efficiently.

By |July 14th, 2010|C#|Comments Off

Databinding a GridView in C# with ADO.NET

Something simple, you want to use ADO.NET to bind data from SQL Server to a GridView, here is your code behind

[codesyntax lang="csharp"]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string conn = ConfigurationManager.ConnectionStrings["STRINGNAME"].ConnectionString;
    SqlConnection con = new SqlConnection(conn);

    using (con)
    {
      SqlCommand cmd = new SqlCommand("SELECT * FROM Table", con);
      con.Open();
      SqlDataReader rdr = cmd.ExecuteReader();
      gv.DataSource = rdr;
      gv.DataBind();
    }
  }
}
[/codesyntax]

Here is your control

[codesyntax lang="csharp"]

<asp:GridView ID=”gv” runat=”server” />

[/codesyntax]
By |July 13th, 2010|C#|Comments Off