社区
C#
帖子详情
如何获得DataRow在DataTable中的行号呢?
first2526
2005-08-15 04:15:04
winform,
在绑定数据的时候,我要按照某个条件来查找以行,用find,但是查找后,得到的DAtaRow[],而没有行号!又没有相应的方法来获取行号,我也不想用循环,用循环可能太慢了如果记录多!
还有,我有一个下拉列表框,其中当前显示的文本要用一个DataTable做绑定,而列表内的内容也需要一个DataTable来做绑定,我如何做呢?
谢谢大家帮忙!
在线等待
...全文
2601
8
打赏
收藏
如何获得DataRow在DataTable中的行号呢?
winform, 在绑定数据的时候,我要按照某个条件来查找以行,用find,但是查找后,得到的DAtaRow[],而没有行号!又没有相应的方法来获取行号,我也不想用循环,用循环可能太慢了如果记录多! 还有,我有一个下拉列表框,其中当前显示的文本要用一个DataTable做绑定,而列表内的内容也需要一个DataTable来做绑定,我如何做呢? 谢谢大家帮忙! 在线等待
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnjack
2006-06-19
打赏
举报
回复
你的第一個問題,只能用循環了:
/// <summary>
/// Return Id Row-Index of DataView(After setup DataView Sort-Field.)
/// </summary>
/// <param name="dataView">DataView</param>
/// <param name="primaryKeyField">primaryKey[]</param>
/// <param name="primaryKeyValue">primaryKeyValue[]</param>
/// <returns>Exists,return rowIndex;Or else return -1</returns>
public static int FindByViewID(DataView dataView,string[] primaryKeyField,object[] primaryKeyValue)
{
bool isFind=false;
int tmpIndex=-1;
try
{
foreach(DataRowView drv in dataView)
{
tmpIndex++;
for(int i=0;i<primaryKeyField.Length;i++)
{
if(drv[primaryKeyField[i].ToString().Trim()].ToString().Trim().Equals(primaryKeyValue[i].ToString().Trim())) isFind=true;//此時不可以退出循環,因為在多字段主鍵時,有可能有某些字段的值會相同
else
{
isFind=false;
break;
}
}
if (isFind) return tmpIndex;
}
}
catch(Exception ex)
{
// isFind=false;
// tmpIndex=-1;
throw ex;
}
return isFind?tmp
}
第二個問題,用DataRelation來試一下,沒用過
cuijie
2006-02-21
打赏
举报
回复
DataRow r = dt.DefaultView[0].Row;
System.Reflection.FieldInfo fieldInfo = r.GetType().GetField("rowID",System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
int rowID = (int)fieldInfo.GetValue(r);
yeerh
2005-10-21
打赏
举报
回复
string str=@"姓名='张三'";//查询条件
DataRow[] dr=this.dataSet31.Tables["用户表"].Select(str);//先得到符合条件的记录...
int index;
if(dr.Length>0)
{
index = Array.IndexOf(this.dataSet31.Tables["用户表"].Select(),dr[0]);
}
esle index=-1;
还有比这简单的吗?
请各位大侠赐教.......不胜感激.........
first2526
2005-08-15
打赏
举报
回复
呵呵,谢谢楼上的各位
不过没有看明白我的意思,可能。
一个DataTable里面的数据,要绑定到窗口的几个TextBox框和一个下拉列表框。我用TextBox.DataBinding.add("text",datatable,"xh")这样的语句绑定。然后用this.BindingsContext[0].positon ++;来改变绑定位置。如果这样循环下去还可以,关键是我有一个查找功能,就是找到一个符合的条件后,直接将postion定位到那一行。
第二个问题是:我的那个下拉列表框,因为里面的数据是从数据库中提取的,所以需要绑定一个DataTable,而具体显示的内容,是根据第一个DataTable绑定的结果来显示的,所以需要两个绑定,不知道如何做?
tfrtfr
2005-08-15
打赏
举报
回复
1、你既然只要一行,那就去DataRow[]里的第一条记录啦。当然不知道你的业务怎么回事,查出来多条有只要一条,本身就有点矛盾的。
2、不是很简单吗,绑定同一个数据源不就行了,这样都不用做什么处理,就能保持同步了。
3tzjq
2005-08-15
打赏
举报
回复
可通过:
DataRow[] rows = dt.Select();//你得到的DataRow数组
int index = Array.IndexOf(rows,搜索主键值);
以上代码未经测试!也可用DataView,速度更快!
问题2未看懂。
ghostzxp
2005-08-15
打赏
举报
回复
返回一个隐藏列即可
jinjazz
2005-08-15
打赏
举报
回复
只能用sql在查询的时候返回行号
Ado.net总结知识点
可以给那些初学Ado.net的朋友更好的理解
C#WinForm窗体开发例程
c# WinForm实例——本实例使用了listview控件。listview控件的view属性是一个view枚举值,用于获取或者设置数据项在控件
中
的显示方式。本实例实现的关键是如何实现带图像列表的系统登录程序,下面对其进行详细讲解。带图像列表的系统登录界面主要使用了ListView控件。在设计前先对ListView控件的View属性进行介绍,View属性用于获取或设置数据项在控件
中
的显示方式。View属性是一个View枚举值。
按数据表顺序对排序后的列表进行排序
我从有序数据表
中
填充排序列表,但在填充排序列表后,我的订单更改为(int i = 0; i
C# 操作excel案例,将数据写入excel
C# 操作excel案例,将数据写入excel
C#精髓-- GridView 72般绝技
作者:清清月儿 快速预览: GridView无代码分页排序 GridView选
中
,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一行时改变该行的背景色方法二 GridView实现删除时弹出确认对话框 GridView实现自动编号 GridView实现自定义时间货币等字符串格式 GridView实现用“...”代替超长字符串 GridView一般换行与强制换行 GridView显示隐藏某一列 GridView弹出新页面/弹出新窗口 GridView固定表头(不用javascript只用CSS,2行代码,很好用) GridView合并表头多重表头无错完美版(以合并3列3行举例) GridView突出显示某一单元格(例如金额低于多少,分数不及格等) GridView加入自动求和求平均值小计 GridView数据导入Excel/Excel数据读入GridView
C#
111,119
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章