数据网格不排序 [英] Data Grid NOT SORTING
问题描述
我使用以下代码对数据网格进行排序,但它不起作用。
我已将自动生成列设置为false 。 &安培;设置
每个字段的排序表达式作为该字段的anme ...此网格显示基于
用户搜索的结果..
public static int numberDiv;
private void Page_Load(object sender,System.EventArgs e)
{
//置放用户在这里初始化页面的代码
}
private void btnSearch_Click(object sender,System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(对象源,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables [0]);
if((numberDiv%2)== 0)
dv.Sort = e.SortExpression +" " +ASC;
else
dv.Sort = e.SortExpression +" " +DESC;
numberDiv ++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{
sqlSelectCommand1.Parameters.Clear();
SqlParameter order =
sqlSelectCommand1.Parameters.Add(" @ OrderNo",SqlDbT ype.Int);
if(txtOrder.Text.Equals(String.Empty))
{
order.Value = System.DBNull.Value;
}
else
{
order.Value = int.Parse(txtOrder.Text);
}
SqlParameter startdate =
sqlSelectCommand1.Parameters.Add(" @ StartDate",SqlD bType.DateTime);
if(txtStartDate.Text.Equals(String.Empty))
{
startdate.Value = System.DBNull.Value;
}
else
{
startdate.Value = System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate =
sqlSelectCommand1.Parameters。添加(QUOT; @End Date",SqlDbT ype.DateTime);
if(txtEndDate.Text.Equals(String.Empty))
{
enddate.Value = System.DBNull.Value;
}
else
{
enddate.Value = System.DateTime。 Parse(txtEndDate.Tex t);
}
SqlParameter status =
sqlSelectCommand1.Parameters.Add(" @ Status",SqlDbTy pe .VarChar);
if(txtEndDate.Text.Equals(String.Empty))
{
status.Value = System.DBNull。价值;
}
其他
{
status.Value = ddlStatus.SelectedValue;
}
}
}
-
pmud
Hi,
I am using teh following code for sorting the data grid but it doesnt work.
I have set the auto generate columns to false. & set the sort expression for
each field as the anme of that field... This grid displayes results based on
users search..
public static int numberDiv;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(object source,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables[0]);
if( (numberDiv%2) == 0 )
dv.Sort = e.SortExpression + " " + "ASC";
else
dv.Sort = e.SortExpression + " " + "DESC";
numberDiv++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{
sqlSelectCommand1.Parameters.Clear();
SqlParameter order=
sqlSelectCommand1.Parameters.Add("@OrderNo",SqlDbT ype.Int);
if (txtOrder.Text.Equals(String.Empty))
{
order.Value=System.DBNull.Value;
}
else
{
order.Value=int.Parse(txtOrder.Text);
}
SqlParameter startdate=
sqlSelectCommand1.Parameters.Add("@StartDate",SqlD bType.DateTime);
if (txtStartDate.Text.Equals(String.Empty) )
{
startdate.Value=System.DBNull.Value;
}
else
{
startdate.Value=System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate=
sqlSelectCommand1.Parameters.Add("@EndDate",SqlDbT ype.DateTime);
if (txtEndDate.Text.Equals(String.Empty) )
{
enddate.Value=System.DBNull.Value;
}
else
{
enddate.Value=System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status=
sqlSelectCommand1.Parameters.Add("@Status",SqlDbTy pe.VarChar);
if (txtEndDate.Text.Equals(String.Empty) )
{
status.Value=System.DBNull.Value;
}
else
{
status.Value=ddlStatus.SelectedValue;
}
}
}
--
pmud
推荐答案
在ASC和DESC字符串中添加一个空格字符(" ASC"和 DESC)。
如果你没有那么排序标准将ASC或DESC直接连接到
排序字符串的末尾。
" pmud" <下午** @ discussions.microsoft.com>在消息中写道
news:83 ********************************** @ microsof t.com ...
Add a space character into the ASC and DESC strings (" ASC" and " DESC").
If you don''t then the sort criteria gets ASC or DESC cocatenated right onto
the end of the sort string.
"pmud" <pm**@discussions.microsoft.com> wrote in message
news:83**********************************@microsof t.com...
我正在使用以下代码对数据网格进行排序,但它没有工作。
我有将auto generate列设置为false。 &安培;为每个字段设置排序表达式
作为该字段的anme ...此网格显示基于
用户搜索的结果..
public static int numberDiv;
private void Page_Load(object sender,System.EventArgs e)
//
//用户代码初始化页面
}
私有void btnSearch_Click(object sender,System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind(); <私有void DataGrid1_SortCommand(对象源,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables [0]);
if((numberDiv%2)== 0)
dv.Sort = e.SortExpression + " +ASC;
其他
dv.Sort = e.SortExpression +" " +DESC;
numberDiv ++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{s / // sqlSelectCommand1.Parameters.Clear();
sqlParameter order =
sqlSelectCommand1.Parameters.Add(" @ OrderNo",SqlDbT ype.Int);
if(txtOrder。 Text.Equals(String.Empty))
{
order.Value = System.DBNull.Value;
}
{
order.Value = int.Parse(txtOrder.Text);
}
SqlParameter startdate =
sqlSelectCommand1.Parameters.Add(" @ StartDate",SqlD bType.DateTime);
if(/ txtStartDate.Text.Equals(String.Empty))
{/ / / / / / / / / / / / / / / / / / / / .Value = System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate =
sqlSelectCommand1.Parameters.Add(" @ EndDate",SqlDbT ype.DateTime);
if(txtEndDate.Text.Equals(String.Empty))
{
enddate.Value = System.DBNull.Value;
}
否则
{/ / enddate.Value = System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status =
sqlSelectCommand1.Parameters.Add(" @ Status",SqlDbTy pe.VarChar);
if(txtEndDate.Text.Equals(String.Empty))
{
status.Value = System.DBNull.Value;
}
其他
{
status.Value = ddlStatus.SelectedValue;
}
}
}
-
pmud
Hi,
I am using teh following code for sorting the data grid but it doesnt
work.
I have set the auto generate columns to false. & set the sort expression
for
each field as the anme of that field... This grid displayes results based
on
users search..
public static int numberDiv;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(object source,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables[0]);
if( (numberDiv%2) == 0 )
dv.Sort = e.SortExpression + " " + "ASC";
else
dv.Sort = e.SortExpression + " " + "DESC";
numberDiv++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{
sqlSelectCommand1.Parameters.Clear();
SqlParameter order=
sqlSelectCommand1.Parameters.Add("@OrderNo",SqlDbT ype.Int);
if (txtOrder.Text.Equals(String.Empty))
{
order.Value=System.DBNull.Value;
}
else
{
order.Value=int.Parse(txtOrder.Text);
}
SqlParameter startdate=
sqlSelectCommand1.Parameters.Add("@StartDate",SqlD bType.DateTime);
if (txtStartDate.Text.Equals(String.Empty) )
{
startdate.Value=System.DBNull.Value;
}
else
{
startdate.Value=System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate=
sqlSelectCommand1.Parameters.Add("@EndDate",SqlDbT ype.DateTime);
if (txtEndDate.Text.Equals(String.Empty) )
{
enddate.Value=System.DBNull.Value;
}
else
{
enddate.Value=System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status=
sqlSelectCommand1.Parameters.Add("@Status",SqlDbTy pe.VarChar);
if (txtEndDate.Text.Equals(String.Empty) )
{
status.Value=System.DBNull.Value;
}
else
{
status.Value=ddlStatus.SelectedValue;
}
}
}
--
pmud
嗨斯科特,
我试过但它没有用......其他任何想法?
谢谢
" Scott M."写道:
Hi Scott,
I tried that But it didnt work...Any other ideas?
Thanks
"Scott M." wrote:
在ASC和DESC字符串中添加一个空格字符(ASC和DESC)。
如果你不是那么排序标准将ASC或DESC直接放在
排序字符串的末尾。
" pmud" <下午** @ discussions.microsoft.com>在消息中写道
新闻:83 ********************************** @ microsof t.com。 ..
Add a space character into the ASC and DESC strings (" ASC" and " DESC").
If you don''t then the sort criteria gets ASC or DESC cocatenated right onto
the end of the sort string.
"pmud" <pm**@discussions.microsoft.com> wrote in message
news:83**********************************@microsof t.com...
我正在使用以下代码对数据网格进行排序,但它没有工作。
我设置了自动生成列为false。 &安培;为每个字段设置排序表达式
作为该字段的anme ...此网格显示基于
用户搜索的结果..
public static int numberDiv;
private void Page_Load(object sender,System.EventArgs e)
//
//用户代码初始化页面
}
私有void btnSearch_Click(object sender,System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind(); <私有void DataGrid1_SortCommand(对象源,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables [0]);
if((numberDiv%2)== 0)
dv.Sort = e.SortExpression + " +ASC;
其他
dv.Sort = e.SortExpression +" " +DESC;
numberDiv ++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{s / // sqlSelectCommand1.Parameters.Clear();
sqlParameter order =
sqlSelectCommand1.Parameters.Add(" @ OrderNo",SqlDbT ype.Int);
if(txtOrder。 Text.Equals(String.Empty))
{
order.Value = System.DBNull.Value;
}
{
order.Value = int.Parse(txtOrder.Text);
}
SqlParameter startdate =
sqlSelectCommand1.Parameters.Add(" @ StartDate",SqlD bType.DateTime);
if(/ txtStartDate.Text.Equals(String.Empty))
{/ / / / / / / / / / / / / / / / / / / / .Value = System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate =
sqlSelectCommand1.Parameters.Add(" @ EndDate",SqlDbT ype.DateTime);
if(txtEndDate.Text.Equals(String.Empty))
{
enddate.Value = System.DBNull.Value;
}
否则
{/ / enddate.Value = System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status =
sqlSelectCommand1.Parameters.Add(" @ Status",SqlDbTy pe.VarChar);
if(txtEndDate.Text.Equals(String.Empty))
{
status.Value = System.DBNull.Value;
}
其他
{
status.Value = ddlStatus.SelectedValue;
}
}
}
-
pmud
Hi,
I am using teh following code for sorting the data grid but it doesnt
work.
I have set the auto generate columns to false. & set the sort expression
for
each field as the anme of that field... This grid displayes results based
on
users search..
public static int numberDiv;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(object source,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables[0]);
if( (numberDiv%2) == 0 )
dv.Sort = e.SortExpression + " " + "ASC";
else
dv.Sort = e.SortExpression + " " + "DESC";
numberDiv++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{
sqlSelectCommand1.Parameters.Clear();
SqlParameter order=
sqlSelectCommand1.Parameters.Add("@OrderNo",SqlDbT ype.Int);
if (txtOrder.Text.Equals(String.Empty))
{
order.Value=System.DBNull.Value;
}
else
{
order.Value=int.Parse(txtOrder.Text);
}
SqlParameter startdate=
sqlSelectCommand1.Parameters.Add("@StartDate",SqlD bType.DateTime);
if (txtStartDate.Text.Equals(String.Empty) )
{
startdate.Value=System.DBNull.Value;
}
else
{
startdate.Value=System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate=
sqlSelectCommand1.Parameters.Add("@EndDate",SqlDbT ype.DateTime);
if (txtEndDate.Text.Equals(String.Empty) )
{
enddate.Value=System.DBNull.Value;
}
else
{
enddate.Value=System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status=
sqlSelectCommand1.Parameters.Add("@Status",SqlDbTy pe.VarChar);
if (txtEndDate.Text.Equals(String.Empty) )
{
status.Value=System.DBNull.Value;
}
else
{
status.Value=ddlStatus.SelectedValue;
}
}
}
--
pmud
你能查看numberDiv的值吗?
你能否仔细检查一下SortExpression价值?
" pmud"写道:
Can you check the value of numberDiv?
Can you also double-check you SortExpression value?
"pmud" wrote:
嗨斯科特,
我试过但它没有用......还有其他想法吗?
谢谢你/>
Scott M.写道:
Hi Scott,
I tried that But it didnt work...Any other ideas?
Thanks
"Scott M." wrote:
在ASC和DESC字符串中添加一个空格字符(ASC和DESC)。
如果你不是那么排序标准将ASC或DESC直接放在
排序字符串的末尾。
" pmud" <下午** @ discussions.microsoft.com>在消息中写道
新闻:83 ********************************** @ microsof t.com。 ..
Add a space character into the ASC and DESC strings (" ASC" and " DESC").
If you don''t then the sort criteria gets ASC or DESC cocatenated right onto
the end of the sort string.
"pmud" <pm**@discussions.microsoft.com> wrote in message
news:83**********************************@microsof t.com...
我正在使用以下代码对数据网格进行排序,但它没有工作。
我设置了自动生成列为false。 &安培;为每个字段设置排序表达式
作为该字段的anme ...此网格显示基于
用户搜索的结果..
public static int numberDiv;
private void Page_Load(object sender,System.EventArgs e)
//
//用户代码初始化页面
}
私有void btnSearch_Click(object sender,System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind(); <私有void DataGrid1_SortCommand(对象源,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables [0]);
if((numberDiv%2)== 0)
dv.Sort = e.SortExpression + " +ASC;
其他
dv.Sort = e.SortExpression +" " +DESC;
numberDiv ++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{s / // sqlSelectCommand1.Parameters.Clear();
sqlParameter order =
sqlSelectCommand1.Parameters.Add(" @ OrderNo",SqlDbT ype.Int);
if(txtOrder。 Text.Equals(String.Empty))
{
order.Value = System.DBNull.Value;
}
{
order.Value = int.Parse(txtOrder.Text);
}
SqlParameter startdate =
sqlSelectCommand1.Parameters.Add(" @ StartDate",SqlD bType.DateTime);
if(/ txtStartDate.Text.Equals(String.Empty))
{/ / / / / / / / / / / / / / / / / / / / .Value = System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate =
sqlSelectCommand1.Parameters.Add(" @ EndDate",SqlDbT ype.DateTime);
if(txtEndDate.Text.Equals(String.Empty))
{
enddate.Value = System.DBNull.Value;
}
否则
{/ / enddate.Value = System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status =
sqlSelectCommand1.Parameters.Add(" @ Status",SqlDbTy pe.VarChar);
if(txtEndDate.Text.Equals(String.Empty))
{
status.Value = System.DBNull.Value;
}
其他
{
status.Value = ddlStatus.SelectedValue;
}
}
}
-
pmud
Hi,
I am using teh following code for sorting the data grid but it doesnt
work.
I have set the auto generate columns to false. & set the sort expression
for
each field as the anme of that field... This grid displayes results based
on
users search..
public static int numberDiv;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(object source,
System.Web.UI.WebControls.DataGridSortCommandEvent Args e)
{
fn();
sqlDataAdapter1.Fill(dsSearch1);
DataView dv = new DataView(dsSearch1.Tables[0]);
if( (numberDiv%2) == 0 )
dv.Sort = e.SortExpression + " " + "ASC";
else
dv.Sort = e.SortExpression + " " + "DESC";
numberDiv++;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
private void fn()
{
sqlSelectCommand1.Parameters.Clear();
SqlParameter order=
sqlSelectCommand1.Parameters.Add("@OrderNo",SqlDbT ype.Int);
if (txtOrder.Text.Equals(String.Empty))
{
order.Value=System.DBNull.Value;
}
else
{
order.Value=int.Parse(txtOrder.Text);
}
SqlParameter startdate=
sqlSelectCommand1.Parameters.Add("@StartDate",SqlD bType.DateTime);
if (txtStartDate.Text.Equals(String.Empty) )
{
startdate.Value=System.DBNull.Value;
}
else
{
startdate.Value=System.DateTime.Parse(txtStartDate .Text);
}
SqlParameter enddate=
sqlSelectCommand1.Parameters.Add("@EndDate",SqlDbT ype.DateTime);
if (txtEndDate.Text.Equals(String.Empty) )
{
enddate.Value=System.DBNull.Value;
}
else
{
enddate.Value=System.DateTime.Parse(txtEndDate.Tex t);
}
SqlParameter status=
sqlSelectCommand1.Parameters.Add("@Status",SqlDbTy pe.VarChar);
if (txtEndDate.Text.Equals(String.Empty) )
{
status.Value=System.DBNull.Value;
}
else
{
status.Value=ddlStatus.SelectedValue;
}
}
}
--
pmud
这篇关于数据网格不排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!