Create multi column PrimaryKey for a DataTable
CreateMultiColumnPrimaryKeyForADataTable.aspx
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html>
<script runat="server">
void Button1_Click(object sender, System.EventArgs e)
{
DataTable dt = new DataTable();
dt.TableName = "Books";
DataColumn dc1 = new DataColumn();
dc1.ColumnName = "BookID";
dc1.DataType = typeof(int);
dt.Columns.Add(dc1);
DataColumn dc2 = new DataColumn();
dc2.ColumnName = "BookName";
dc2.DataType = typeof(string);
dt.Columns.Add(dc2);
//this line set the 'BookID' and 'BookName' columns to DataTable PrimaryKey
dt.PrimaryKey = new DataColumn[] { dc1,dc2 };
DataColumn dc3 = new DataColumn();
dc3.ColumnName = "Author";
dc3.DataType = typeof(string);
dt.Columns.Add(dc3);
dt.Rows.Add(new object[] { 1, "Canvas Pocket Reference", "David Flanagan" });
dt.Rows.Add(new object[] { 2, "Google Analytics", "Justin Cutroni" });
dt.Rows.Add(new object[] { 3, "asp.net example ebook", "test author" });
/*
Uncomment this line to get an error because 'BookID' and 'BookName'
columns are PrimaryKey. So both columns make the row unique.
*/
//dt.Rows.Add(new object[] { 3, "asp.net example ebook", "Jenny Jones" });
GridView1.DataSource = dt;
GridView1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>How to create multi column PrimaryKey for a DataTable in ado.net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:DarkBlue; font-style:italic;">
How to create multi column
<br /> PrimaryKey for a DataTable in ado.net
</h2>
<hr width="375" align="left" color="CornFlowerBlue" />
<asp:GridView
ID="GridView1"
runat="server"
BorderColor="Snow"
ForeColor="Snow"
Width="550"
>
<HeaderStyle BackColor="DodgerBlue" Height="35" />
<RowStyle BackColor="OrangeRed" />
<AlternatingRowStyle BackColor="Tomato" />
</asp:GridView>
<br />
<asp:Button
ID="Button1"
runat="server"
OnClick="Button1_Click"
Text="Populate GridView"
Height="45"
Font-Bold="true"
ForeColor="DarkBlue"
/>
</div>
</form>
</body>
</html>

- How to use SqlConnection
- How to read data with SqlDataReader
- How to create a DataTable
- How to create a primary key for a DataTable
- How to use DataTable AcceptChanges() method
- How to use DataTable RowDeleting event
- How to copy one DataTable to another DataTable
- How to use DataTable Compute method
- How to merge two DataTables
- How to create a DataView