
نوشته شده توسط
mahdibham
اصلا حواسم به RadioButton نبود البته تا حالا این استفاده رو ازش نکرده بودم. خیلی هم عالی.
فقط چرا اصلا از سایر استفاده کنم اون رو میشه کلا ی ابجکت جدا گرفت دیگه.. جدا هم ثبت میشه و دریافت میشه. نمیشه؟
بعد ی چیزی.. برای نمایش دادنش توی گریدویو که باید جوین بزنم با جدول فایل اینارو توی اون کوئری چطور باید بیارم..
public void BindDataGridViewHoleFileInformation ()
{
dgvHoleInformation.DataSource = (from p in emdadDB.TblFiles
join c in emdadDB.TblDependents.Where (p => p.FamilyRelationshipId == 11) on p.Id equals c.FileId into joined
from t in joined.DefaultIfEmpty ()
//join x in emdadDB.TblFamilyRelationships on p.Relation equals x.Id
select new
{
p.Id,
p.FileNumber,
t.FullName,
p.Topic
}).OrderBy (p => p.FileNumber).ToList ();
}
دیتابیس چیه؟! و چرا از LINQ استفاده کردی من می خواستم کد رو بدون استفاده از دیتابیس بازسازی کنم نشد از LINQ به درستی استفاده کنم!! و از کلاس DataTable استفاده کردم.
Untitled.jpg
namespace AuthorProfileManagerCS
{
public enum Experiences {
[DisplayValue("I'm New")]None = 0,
[DisplayValue("1 - 4 years")]GroupA = 1,
[DisplayValue("5 - 10 years")]GroupB = 2,
[DisplayValue("10 - 20 years")]GroupC = 3,
[DisplayValue("More than 20 years")]GroupD = 4
};
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new MainForm());
}
}
}
MainForm:
using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
namespace AuthorProfileManagerCS
{
public partial class MainForm : Form
{
public Experiences Experience { get; set; }
public MainForm()
{
InitializeComponent();
// Create AuthorsDataTable Columns:------------------------------
var Table = new DataTable
{
TableName = "Authors"
};
Table.Columns.Add(new DataColumn("ID", typeof(Guid)));
Table.Columns.Add(new DataColumn("FirstName", typeof(string)));
Table.Columns.Add(new DataColumn("LastName", typeof(string)));
Table.Columns.Add(new DataColumn("Mail", typeof(string)));
Table.Columns.Add(new DataColumn("Phone", typeof(string)));
Table.Columns.Add(new DataColumn("Fax", typeof(string)));
Table.Columns.Add(new DataColumn("Country", typeof(string)));
Table.Columns.Add(new DataColumn("Address", typeof(string)));
Table.Columns.Add(new DataColumn("Experience", typeof(string)));
this.Table = Table;
//----------------------------------------------------------------
}
public DataTable Table { get; set; }
public void CreateData()
{
Guid ID = Guid.NewGuid();
String FirstName = "ROSTAM", LastName = "F*********",
Mail = "vloverprogrammer@gmail.com", Phone= "0936******" , Fax = "NAN", Country="Iran", Address="Fars";
Experience = Experiences.GroupA;
DisplayValueAttribute ExperienceAttr = (DisplayValueAttribute)typeof(Experiences)
.GetField(Experience.ToString())
.GetCustomAttributes(typeof(DisplayValueAttribute) , false)
.FirstOrDefault();
Table.Rows.Add(ID, FirstName, LastName, Mail, Phone, Fax, Country, Address, ExperienceAttr.Value);
}
private void MainForm_Load(object sender, EventArgs e)
{
CreateData();
this.DataGridView1.DataSource = Table;
}
}
}
DisplayValue Custom Attribute:
using System;
namespace AuthorProfileManagerCS
{
[AttributeUsage(AttributeTargets.Field)]
public class DisplayValueAttribute: Attribute
{
public DisplayValueAttribute(string value)
{
this.Value = value;
}
public string Value { get; set; }
}
}