这是我写的一个循环取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的一列绑定到自己写的对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)