如何从一个datatable中依次取得前100条数据,直到取完为止

如何从一个datatable中依次取得前100条数据,直到取完为止,第1张

这是我写的一个循环取datatable的实例:

翻页的方法,下一页就将inpage+1,上一页就将inpage-1;count为总页数。

public DataTable table;

public int count = 1;

public int inpage = 1;

int i = (inpage - 1) 10;//计算当前显示条数

int pagenum = inpage 10;//计算当前显示最大条数

table=getdata();

count = tableRowsCount / 10;//计算总页数

int yu = tableRowsCount % 10;//计算是否余数是0

if (yu > 0)

count = count + 1;//有余数是总页数+1

if (pagenum > tableRowsCount)//判断最大条数是否大于实际总条数

pagenum = tableRowsCount;

ddlpageItemsClear();

for (int m = 1; m <= count; m++)

{

ddlpageItemsAdd(mToString());

}

string html = "<div id=\"list\" class=\"list\"><ul>";

for (int m = i; m < pagenum; m++)

{

string title = tableRows[m]["TITLE"]ToString();

if (titleLength > 13)

title = titleSubstring(0, 13) + "";

int id = m + 1;

html += "<li>" + id + "、<a href=\"Ph_detailaspxqid=" + tableRows[m]["ID"]ToString() + "\">" + title + "</a></li>";

}

html += "</ul></div>";

WPF中你可以这样:定义一个DataTable,然后通过SQL从数据库中获取相关数据填充这个DataTable,并将其作为datagrid的数据源,具体可这样 *** 作:

datagridItemsSource = null;

datagridItemsClear();

datagridItemsSource = DataTableDefaultView;

datagridSelectedValuePath = "主键字段名";

当选中datagrid中一项时,可以根据datagridSelectedValue(实际的值)去删除数据库相关的记录,然后再重新刷新datagrid的数据源。

不知道这样说,明白么?当然你也可以在页面通过xaml进行双向绑定 *** 作集合来实现。

首先 datatable 需要构建 datacolumn

datatable dt=new datatable();

dtcolumnsadd(new datacolumn("列名"))

添加数据方法()

datarow dr=dtnewRows();

dr["xxx"]=xxx;

dtRowsAdd(dr);

// 试一下能不能满足你的要求。

        var num = new[] {1, 2, 8, 9};

        // net 4或以上

//        var sql = stringFormat("select id, a, b from A where id in ( {0} )", stringJoin(", ", num));

        // net 4以下 

        var numStr = ArrayConvertAll(num, input => inputToString());

        var sql = stringFormat("select id, a, b from A where id in ( {0} )", stringJoin(", ", numStr));

        var dataTable = new DataTable();

        using (var dataAdapter = new SqlDataAdapter(sql, connectoin))

        {

            dataAdapterUpdate(dataTable);

        }

假如ListView的数据源用DataTable类型的数据,那就不需要转换。

listViewItemDource=dataTableDefaultView这样就不需要转换的。

//创建一个DataTable用于存储数据,有两列:Name,Value DataTable dt = new DataTable();dtColumnsAdd("Name");dtColumnsAdd("Value");dtRowsAdd("请选择", -1);dtRowsAdd("张三", 1);dtRowsAdd("李四", 2);dtRowsAdd("王五", 3); //将Combobox绑定到DataTable,Name列显示到画面上,Value列是对应的数据comboBox1DataSource = dt;comboBox1DisplayMember = "Name";comboBox1ValueMember = "Value"; //在combobox的SelectedIndexChanged事件中添加如下方法private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ string value = thiscomboBox1SelectedValueToString(); ConsoleWriteLine("当前选中的是 " + value);}

直接绑定到数据库里的table的

后台代码:

MKPMyCommonSQLHelper sh = new MKPMyCommonSQLHelper(null);

DataTable dt=shGetDataTable("select Fi_id,Fs_pCompanyName,Fs_phone,Fs_email from TpmCompany");

dataGrid1ItemsSource = dtDefaultView;

前台代码:

<pre class="csharp" name="code"><DataGrid AutoGenerateColumns="False"

Height="153" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top"

Width="449" SelectedCellsChanged="dataGrid1_SelectedCellsChanged">

<DataGridColumns >

<DataGridTextColumn Header="ID" Binding="{Binding Path=Fi_id}"/>

<DataGridTextColumn Header="公司名称" Binding="{Binding Path=Fs_pCompanyName}"/>

<DataGridTextColumn Binding="{Binding Path=Fs_phone}" Header="电话" />

<DataGridTextColumn Binding="{Binding Path=Fs_email}" Header="Email"></DataGridTextColumn>

</DataGridColumns>

</DataGrid>

以上就是关于如何从一个datatable中依次取得前100条数据,直到取完为止全部的内容,包括:如何从一个datatable中依次取得前100条数据,直到取完为止、WPF的DataGrid添加一列button,事件为对该行数据进行 *** 作,该怎么做、wpf 如何将datatable的一列绑定到自己写的对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9614829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存