با سلام
در دیتا گرید چطوری میشه سلولی که روش کلیک شده رو پیدا کرد منظورم شماره ی سطر و ستونشه.
و یه سوال دیگه! چه طوری میشه مثلا اطلاعاتی که تو سطر سوم هست رو سلول به سلول به خصوصیات یک شی داد مثلا سطر 3 ستون 0 به نام ستون 1 به فامیل و ...
با سلام
در دیتا گرید چطوری میشه سلولی که روش کلیک شده رو پیدا کرد منظورم شماره ی سطر و ستونشه.
و یه سوال دیگه! چه طوری میشه مثلا اطلاعاتی که تو سطر سوم هست رو سلول به سلول به خصوصیات یک شی داد مثلا سطر 3 ستون 0 به نام ستون 1 به فامیل و ...
Convert.ToInt16(((System.Data.DataRowView)(DgPeople.SelectedValue)).Row.ItemArray[0]);
item arrayمربوط میشه به مقدار ستون سطر انتخاب شده.
مثلا اگه datarowشامل id,name,family باشد itemarray[0]fمقدار id رو بر می گردونه
لطفا پست پایین رو ببینید
آخرین ویرایش به وسیله Shahab_H : جمعه 09 مهر 1389 در 12:09 عصر
در ایونت Selection cells changed کد شما رو به این صورت استفاده کردم
a= Convert.ToInt32(((System.Data.DataRowView)(dataGri d1.SelectedValue)).Row.ItemArray[0]);که a از نوع int تعریف شده ولی باز این ارور رو در موقع اجرا داد
Object reference not set to an instance of an object.
علتشم اینه که مقدار Selectedvalue رو null بر میگردونه در صورتی که من روی خونه ای کلیک کردم که مقدار داره!
این مشکلتو حل میکنه
http://www.barnamenevis.org/sh...d.php?t=214693
کد xaml مربوط به datagrid رو بذار
<DataGrid AutoGenerateColumns="True" Height="200" Name="dataGrid1" Width="610" HorizontalAlignment="Left" VerticalAlignment="Top" Background="{x:Null}" SelectionMode="Single" SelectionUnit="Cell" SelectedCellsChanged="dataGrid1_SelectedCellsChang ed" />
<DataGrid AutoGenerateColumns="True" Height="200" x:Name="dataGrid1" Width="610" HorizontalAlignment="Left" VerticalAlignment="Top" MouseDoubleClick="dataGrid1_MouseDoubleClick"/>
ممنون از لطفتون
کدی که گذاشته بودین رو استفاده کردم ولی بازم همون مشکل قبلی پیش اومد اینم تصویرش
dr[0] اینو این طور بنویس dr[0].ToString()
عکس اون کد xaml رو هم بذار
برو رو منوی build گزینه run code analysis on accounting رو بزن چون بعضی موقع برنامه گیرهای مزخرفی رو میده با این گزینه یه بازنگری کلی تو تمام کد ها می کنه
جواب رو پیدا کردم میذرام دوستانم استفاده کنن
private void dataGrid1_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
var item = e.AddedCells[0];
{
var col = item.Column as DataGridColumn;
var fc = col.GetCellContent(item.Item);
if (fc is CheckBox)
{
}
else if (fc is TextBlock && col.DisplayIndex == 0)
{
textBlock1.Text = (fc as TextBlock).Text;
}
}
}
برای بدست آوردن سطر انتخابی از این کد استفاده کنید(int currentrowindex= dataGrid1.Items.IndexOf(dataGrid1.CurrentItem
برای بدست آوردن ستون انتخابی از این کد استفاده کنید DataGridCellInfo cell = new DataGridCellInfo();
cell = datagridmatric.CurrentCell;
if (cell.Column == null ) return
indexcurrentcolumds = cell.colums.displyindex;