PDA

View Full Version : ایجاد ستون ردیف در datagridview با LINQ



13601360
جمعه 10 خرداد 1392, 12:54 عصر
سلام دوستان
چطور میشه یک ستون که شماره ردیف داخلش درج بشه در دیتاگرید با LINQ ایجاد کرد
البته یه راهی رو تست کردم اما نشد
وقتی داشتم Select New رو انجام می دادم یک متغیر i تعریف کردم که مقدارش یکی یکی اضافه بشه
اما وقتی داده ها رو در دیتاگرید نمایش میدم، همیشه شماره ردیف رو 1 نشون میده

Mahmoud.Afrad
جمعه 10 خرداد 1392, 21:33 عصر
ربطی به EF یا Sql نداره. میتونی از رویداد مناسب از گریدویو استفاده کنی.

Database1Entities db;

public MainForm()
{
InitializeComponent();

db = new Database1Entities();

DataGridViewTextBoxColumn radifCol = new DataGridViewTextBoxColumn();
radifCol.Name = "Radif";
radifCol.ReadOnly = true;
dataGridView1.Columns.Add(radifCol);

dataGridView1.DataSource = db.Table1;
}
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
dataGridView1.Rows[e.RowIndex].Cells["Radif"].Value = e.RowIndex + 1;
}

tooraj_azizi_1035
جمعه 10 خرداد 1392, 21:56 عصر
public List<ScoreWithRank> GetHighScoresWithRank(string gameId, int count)
{
Guid guid = new Guid(gameId);
using (PPGEntities entities = new PPGEntities())
{
var query = from s in entities.Scores
where s.Game.Id == guid
orderby s.PlayerScore descending
select new
{
PlayerName = s.PlayerName,
PlayerScore = s.PlayerScore
};

return query.AsEnumerable() // Client-side from here on
.Select((player, index) => new ScoreWithRank()
{
PlayerName = player.PlayerName,
PlayerScore = player.PlayerScore,
Rank = index + 1;
}
.ToList();

}
}