1、给DataGrid 设置ID
<mx:DataGrid id="dataGridView1">2、设定绑定事件
[Bindable]private var dataArr:ArrayCollection=new ArrayCollection([type: "突发事件", name: "车站火灾预案(运营时间)", time: "2011-5-1", dep: "北京地铁运营公司", zhuangtai: "审批中"},
3、执行下列内容
var OBJ:Object=thisdataGridView1selectedItem;var ss:String=OBJname//获取点击行的预案名称值
前台代码:
<Grid >
<GridRowDefinitions>
<RowDefinition/>
<RowDefinition Height="25"/>
</GridRowDefinitions>
<DataGrid Name="dg" AutoGenerateColumns="True" RowHeaderWidth="0" SelectedCellsChanged="dg_SelectedCellsChanged" SelectionUnit="Cell"></DataGrid>
<TextBlock GridRow="1" Name="txt"/>
</Grid>
后台代码:
public partial class BaiduKnows : Window
{
public BaiduKnows()
{
InitializeComponent();
List<People> peoplelist = new List<People>();
peoplelistAdd(new People() { age = 10, name = "linda" });
peoplelistAdd(new People() { age = 11, name = "tom" });
peoplelistAdd(new People() { age = 12, name = "peter" });
peoplelistAdd(new People() { age = 13, name = "mary" });
dgItemsSource = peoplelist;
}
class People
{
public int age { get; set; }
public string name { get; set; }
}
private void dg_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
DataGrid dg = sender as DataGrid;
People item = dgSelectedCells[0]Item as People;
string colhead = dgSelectedCells[0]ColumnHeaderToString();
switch (colhead)
{
case "age" : txtText = itemageToString();
break;
case "name": txtText = itemnameToString();
break;
}
}
}
你好,软糖来回答把。
代码已通过测试。
一、获取第一个匹配行
public void 查找特定行() {// 用 Cast 将 dataGridView1 的所有行转化为 List<DataGridViewRow>
var list = dataGridView1RowsCast<DataGridViewRow>();
// 用 First 返回第一个匹配项符合条件xCells[0]Value 等于 灭火器的 Row
var firstmatch = listFirst(x => xCells[3]Value != null
&& xCells[3]ValueToString() == "灭火器");
//firstmatchIndex即为索引,使其高亮显示
dataGridView1Rows[firstmatchIndex]
DefaultCellStyleBackColor = ColorYellow;
}
二、获取所有匹配行
// 用 Cast 将 dataGridView 的所有行转化为 List<DataGridViewRow>var list = dataGridView1RowsCast<DataGridViewRow>();
// 用 Where 返回所有匹配项
var allmatch = listWhere(x => xCells[3]Value != null && xCells[3]ValueToString() == "灭火器");
//RowIndex即为索引,使其高亮显示
foreach (var item in allmatch) {
dataGridView1Rows[itemIndex]
DefaultCellStyleBackColor = ColorYellow;
}
对软糖的答案满意吗,请及时采纳,谢谢了。
解决方法一:遍历datagridview所有行和列 匹配你输入的值
dataGridView1Rows[索引]获取行
dataGridView1Rows[索引]Cells[索引]获取该行的某一项,然后记录下rows的索引 和cells的索引就是你要的行号和列号
解决方法二:为该datagridview添加CellClick这个事件(点击项触发的事件)
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int i = eRowIndex; //是行号
int j = eColumnIndex //是列号
}
在Datagrid中双击某行,可以准确取得当前行某个字段的值(其中一个单元格:也就是对应你数据库的这个字段,你怎么设置这一列是哪个字段就是第几个字段)。要显示这个值时,使用:text1text=Adodc1Recordsetfields("你的字段名或以0为起始的序号")
我帮你写了一段代码,你试试
// dg = dataGridvar index = dgSelectedIndex;
if (index == -1) // 判断是否选中了某一行
{
if (dgSelectedCellsCount > 0)
{
// 获取综合信息,包括行、列索引
// DataGridRow 对象
// DataGridCell 数据模板中的首元素
// 获取绑定到 DataGridRow 上的数据对象
var infos = dgSelectedCellsSelect(s => new
{
ColumnIndex = sColumnDisplayIndex,
RowIndex = dgItemsIndexOf(sItem),
DataItem = sItem, // 该行所绑定的数据对象
// 根据 sItem 获取 DataGridRow
DataGridRow = dgItemContainerGeneratorContainerFromItem(sItem),
// 根据 sItem 获取单元格模板的首个元素
VisulRoot = sColumnGetCellContent(sItem),
});
foreach (var info in infos)
{
ConsoleWriteLine("{0}: ({1},{2})",
infoVisulRoot, infoRowIndex, infoColumnIndex);
}
}
// 获取 DataGridRow 绑定的数据对象
var items = dgSelectedCellsSelect(s => sItem)Distinct();
}
else
{
/ SelectedIndex != -1 /
}
getRowIndex 返回指定行的索引号,该行的参数可以是一行记录或一个ID字段值(API中的说法)
所以你返回的是这个行的索引号,要想显示所选行的id值,直接alert(rows[0]id)不行吗
以上就是关于怎样获取DataGrid的第一行某一列的值全部的内容,包括:怎样获取DataGrid的第一行某一列的值、datagrid 控件,如何点击一次某单元格,即可获取该单元格的内容、c#如何获取dataGridView中特定行的行数。 比如 资产名称=灭火器 的行数.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)