PDA

View Full Version : سوال: تفکیک FullName



bmvgod
چهارشنبه 12 آبان 1395, 16:49 عصر
باسلام خدمت دوستان

یک سری اطلاعات رو join کردم و گفتم که فیلد FName & LName رو باهم ترکیب کن و در نام FullName و با تعدادی خاص از فیلدها در GridView به من نمایش بده،حالا میخوام موقعی که یک رکورد رو انتخاب کرد و فرستاده شد به فرم ویرایش FullName من در دو TextBox جدا جایگزین بشه، این جداسازی FullName رو چطوری باید انجام بدم؟ و چطوری باید بگم کل فیلدها ارسال بشن؟

توجه: من از دوتا جدول استفاده کردم عمل join رو انجام دادم.

باتشکر از شما دوستان

Mani_rf
پنج شنبه 13 آبان 1395, 11:55 صبح
روش اول:
با استفاده از ID اون رکورد FName & LName رو از دیتابیس بخون و توی تکس ها پر کن.
روش دوم:
FName & LName رو توی سکلت رکورد بیار ولی توی گرید نمایش نده و زمانی که رکورد رو به فرم ویرایش میفرستی تکس ها رو از مقدار FName & LName و پر کن.

پ.ن
دونبال هیچ الگوریتمی برای جدا سازی FName & LName از هم نگرد چونه هیچ اعتمادی به کاراکتر های جدا کننده وجود نداره و در شرایط متفاوت برنامه درست عمل نمیکنه.

bmvgod
جمعه 14 آبان 1395, 23:18 عصر
روش اول:
با استفاده از ID اون رکورد FName & LName رو از دیتابیس بخون و توی تکس ها پر کن.
روش دوم:
FName & LName رو توی سکلت رکورد بیار ولی توی گرید نمایش نده و زمانی که رکورد رو به فرم ویرایش میفرستی تکس ها رو از مقدار FName & LName و پر کن.

پ.ن
دونبال هیچ الگوریتمی برای جدا سازی FName & LName از هم نگرد چونه هیچ اعتمادی به کاراکتر های جدا کننده وجود نداره و در شرایط متفاوت برنامه درست عمل نمیکنه.


با سپاس فراوان از راهنماییتون
من از روش دوم استفاده کردم ولی به Error زیر برخورد کردم:

143349

از کد زیر استفاده کردم:


if (dataGridView1.RowCount > 0)
{
var db= new DataClasses2DataContext();
var q = from x in db.InfoMoshtaris
join j in db.InfoProjects on x.PelakSabti equals j.PelakSabti
where x.PelakSabti == j.PelakSabti
select new
{
x.NoParvandeh,
x.FName,
x.LName,
x.Tell,
x.Mobail,
x.Date,
x.Darkhast,
j.PelakSabti,
j.No_Parvaane_Saakhtemaani,
j.Mantaghe_Shahrdary,
j.Mahdodeh_shahrdaari,
j.Metraaj_Zamin,
j.Full_Metraj_banaa,
j.Darsad_Eshghaali,
j.Noe_Kaarbari,
j.Noe_Saazeh,
j.Address_Melk,
j.Sobj_Dastor_Naghshe,
j.Comm_Kaarfarmaa
};
var frmEdit = new FrmNew();
frmEdit.txtNoParvandeh.ReadOnly = true;
frmEdit.txtPelakSabti.Text = dataGridView1.CurrentRow.Cells["PelakSabti"].Value.ToString();
frmEdit.txtLName.Text = dataGridView1.CurrentRow.Cells["LName"].Value.ToString();
frmEdit.txtFName.Text = dataGridView1.CurrentRow.Cells["FName"].Value.ToString();
frmEdit.ShowDialog();
}

بنظرتون مشکلازکجاست؟
با سپاس فراوان

Mani_rf
جمعه 14 آبان 1395, 23:23 عصر
:متفکر: چه ستون هایی رو توی گرید نمایش میدی؟ همونطور که خطا داره میگه ستونی با اسم LName وجود نداره.

bmvgod
جمعه 14 آبان 1395, 23:27 عصر
:متفکر: چه ستون هایی رو توی گرید نمایش میدی؟ همونطور که خطا داره میگه ستونی با اسم LName وجود نداره.



Fullname = x.FName + " " + x.LName,
x.NoParvandeh,
x.PelakSabti,
x.Darkhast,
x.Mobail,
j.Address_Melk,
j.Sobj_Dastor_Naghshe,
Date = x.Date.Value.ToShortDateString()

Mani_rf
جمعه 14 آبان 1395, 23:35 عصر
خب نیست دیگه. الان شما توی گرید یه فیلد به نام FullName دارید.
فکر میکنم بهتر باشه از روش اول استفاده کنید.

bmvgod
جمعه 14 آبان 1395, 23:49 عصر
خروجی من این طوری شد:

143351

و کدمو در خط 5، تاپیک 3، این طوری کردم

join j in db.InfoProjects on x.ID equals j.ID


نمیدونم درست انجام دادم یا نه، ولی همون خطارو میده؟