PDA

View Full Version : سوال: این خطا مربوط به چیه؟



reza4359
دوشنبه 13 آذر 1391, 11:39 صبح
سلام دوستان این خطا روی هاست مربوط به چیه؟A column named 'id' already belongs to this DataTable.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
public static System.Data.DataTable ostan = new System.Data.DataTable();
public static System.Data.DataTable shahr = new System.Data.DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.Items.Clear();
DropDownList2.Items.Clear();

ostan.Columns.Add("id");
ostan.Columns.Add("name");
ostan.Rows.Add("1", "لرستان");
ostan.Rows.Add("2", "اهواز");

shahr.Columns.Add("id");
shahr.Columns.Add("name");
shahr.Rows.Add("1", "خرم آباد");
shahr.Rows.Add("1", "بروجرد");
shahr.Rows.Add("1", "دورود");


shahr.Rows.Add("2", "اهواز");
shahr.Rows.Add("2", "بهبهان");
shahr.Rows.Add("2", "ماهشهر");

ostan.AcceptChanges();
shahr.AcceptChanges();

for (int i = 0; i < ostan.Rows.Count; i++)
{
DropDownList1.Items.Add(new ListItem(ostan.Rows[i]["name"].ToString(), ostan.Rows[i]["id"].ToString()));
}


}
}

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{
DropDownList2.Items.Clear();

for (int i = 0; i < shahr.Rows.Count; i++)
{
if (DropDownList1.SelectedValue == shahr.Rows[i]["id"].ToString())
{
DropDownList2.Items.Add(new ListItem(shahr.Rows[i]["name"].ToString(), shahr.Rows[i]["id"].ToString()));
}
}
}
}

fakhravari
دوشنبه 13 آذر 1391, 11:57 صبح
private static DataTable ProvinceDT;
private static DataTable CityDT;

private void LoadProvince()
{
ProvinceDT = new DataTable();
ProvinceDT.Columns.Add(new DataColumn("ProvinceID", typeof(string)));
ProvinceDT.Columns.Add(new DataColumn("ProvinceName", typeof(string)));

ProvinceDT.Rows.Add("1", "آذربایجان شرقی");
ProvinceDT.Rows.Add("2", "آذربایجان غربی");
ProvinceDT.Rows.Add("21", "کرمان");
ProvinceDT.Rows.Add("22", "کرمانشاه");
ProvinceDT.Rows.Add("23", "کهگیلویه و بویراحمد");
ProvinceDT.Rows.Add("31", "یزد");

ProvinceDT.DefaultView.Sort = "ProvinceName ASC";

ProvinceDT.AcceptChanges();
}
private void LoadCity()
{
CityDT = new DataTable();
CityDT.Columns.Add(new DataColumn("CityID", typeof(string)));
CityDT.Columns.Add(new DataColumn("CityName", typeof(string)));
CityDT.Columns.Add(new DataColumn("ProvinceID", typeof(string)));

#region آذربایجان غربی
CityDT.Rows.Add("2242302", "ارومیه", "2");
CityDT.Rows.Add("2235716", "خوی", "2");
#endregion
#region لرستان
CityDT.Rows.Add("2254824", "خرم آباد", "26");
#endregion
CityDT.DefaultView.Sort = "CityName ASC";
CityDT.AcceptChanges();
}
private void LoadCityByProvince(string ProvinceID)
{
LoadCity();
DdlCity.Items.Clear();
for (int i = 0; i < CityDT.Rows.Count; i++)
{
if (CityDT.Rows[i]["ProvinceID"].ToString() == DdlProvince.SelectedValue)
{
DdlCity.Items.Add(new ListItem(CityDT.Rows[i]["CityName"].ToString(), CityDT.Rows[i]["CityID"].ToString()));
}
}
}

private void BindProvince()
{
LoadProvince();
DdlProvince.Items.Clear();
for (int i = 0; i < ProvinceDT.Rows.Count; i++)
{
DdlProvince.Items.Add(new ListItem(ProvinceDT.Rows[i]["ProvinceName"].ToString(), ProvinceDT.Rows[i]["ProvinceID"].ToString()));
}
DdlProvince.DataBind();
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindProvince();
if (DdlProvince.Items.Count > 0)
{
LoadCityByProvince(DdlProvince.SelectedItem.Value) ;
ProvinceName.Text = DdlProvince.SelectedItem.Text;
}
}
}
protected void btnShow_Click(object sender, EventArgs e)
{
if (DdlCity.SelectedIndex < 0) return;

cityName.Text = DdlCity.SelectedItem.Text;
ProvinceName.Text = DdlProvince.SelectedItem.Text;
}

protected void DdlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
if (DdlProvince.SelectedIndex < 0) return;

LoadCityByProvince(DdlProvince.SelectedValue);
ProvinceName.Text = DdlProvince.SelectedItem.Text;
cityName.Text = "";

if (DdlCity.SelectedIndex > 0)
{
cityName.Text = DdlCity.SelectedItem.Text;
}
}

reza4359
دوشنبه 13 آذر 1391, 13:03 عصر
ممنون
منظور از این چند قسمت چیه؟
cityName.Text
ProvinceName.Text
protected void btnShow_Click(object sender, EventArgs e)
{
if (DdlCity.SelectedIndex < 0) return;

cityName.Text = DropDownList2.SelectedItem.Text;
ProvinceName.Text = DropDownList1.SelectedItem.Text;
}

fakhravari
دوشنبه 13 آذر 1391, 15:35 عصر
چیز خاصی نیست.
http://www.fakhravary.somee.com/Wether.aspx

reza4359
سه شنبه 14 آذر 1391, 08:26 صبح
چیز خاصی نیست.
http://www.fakhravary.somee.com/Wether.aspx
سلام دوست عزیز این کدها رو که خودتون برام گذاشتین روی هاست آپلود کردم حالا یه بار درست جواب میده دوباره این خطا رو میده A column named 'id' already belongs to this DataTable.به نظرتون مشکل از کجاست بهش نیاز دارم
public static System.Data.DataTable ostan = new System.Data.DataTable();
public static System.Data.DataTable shahr = new System.Data.DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.Items.Clear();
DropDownList2.Items.Clear();

ostan.Columns.Add("id");
ostan.Columns.Add("name");
ostan.Rows.Add("1", "بوشهر");
ostan.Rows.Add("2", "اهواز");
ostan.Rows.Add("3", "لرستان");
shahr.Columns.Add("id");
shahr.Columns.Add("name");
shahr.Rows.Add("1", "بوشهر");
shahr.Rows.Add("1", "گناوه");
shahr.Rows.Add("1", "دیلم");
shahr.Rows.Add("1", "جم");
shahr.Rows.Add("1", "گناوه");

shahr.Rows.Add("2", "اهواز");
shahr.Rows.Add("2", "بهبهان");
shahr.Rows.Add("2", "ماهشهر");
shahr.Rows.Add("3", "خرم آباد");
shahr.Rows.Add("3", "بروجرد");
shahr.Rows.Add("3", "دورود");
ostan.AcceptChanges();
shahr.AcceptChanges();

for (int i = 0; i < ostan.Rows.Count; i++)
{
DropDownList1.Items.Add(new ListItem(ostan.Rows[i]["name"].ToString(), ostan.Rows[i]["id"].ToString()));
}


}
}





protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList2.Items.Clear();

for (int i = 0; i < shahr.Rows.Count; i++)
{
if (DropDownList1.SelectedValue == shahr.Rows[i]["id"].ToString())
{
DropDownList2.Items.Add(new ListItem(shahr.Rows[i]["name"].ToString(), shahr.Rows[i]["id"].ToString()));
}
}
}
}
اگه ممکنه مشکل همین رو برام رفع کنید
ممنون

fakhravari
سه شنبه 14 آذر 1391, 13:08 عصر
ستون اینطوری بساز
CityDT = new DataTable(); CityDT.Columns.Add(new DataColumn("CityID", typeof(string)));

و
دیتاتیبل new نکن
در پیج لود new کن
public static System.Data.DataTable ostan;
پیج لود
ostan = new DataTable ();