private void button3_Click(object sender, System.EventArgs e)
{
this.gridDataBoundGrid1.BeginUpdate();
CurrencyManager cm = (CurrencyManager)this.BindingContext[this.gridDataBoundGrid1.DataSource, this.gridDataBoundGrid1.DataMember];
DataView dv = (DataView)cm.List;
int fromPos = cm.Position;
int toPos = cm.Count;
string saveSort = dv.Sort;
dv.Sort = "";
cm.AddNew();
DataRowView drv1 = (DataRowView) cm.List[toPos];
drv1.Row["sortKey"] = toPos;
dv.Sort = saveSort;
for(int i = toPos; i > fromPos; i--)
{
Swap(i, i-1);
cm.EndCurrentEdit();
}
cm.Position = fromPos;
this.gridDataBoundGrid1.EndUpdate();
}
>private void button3_Click(object sender, System.EventArgs e)
>{
> this.gridDataBoundGrid1.BeginUpdate();
> CurrencyManager cm = (CurrencyManager)this.BindingContext[this.gridDataBoundGrid1.DataSource, this.gridDataBoundGrid1.DataMember];
> DataView dv = (DataView)cm.List;
> int fromPos = cm.Position;
> int toPos = cm.Count;
> string saveSort = dv.Sort;
> dv.Sort = "";
> cm.AddNew();
> DataRowView drv1 = (DataRowView) cm.List[toPos];
> drv1.Row["sortKey"] = toPos;
> dv.Sort = saveSort;
> for(int i = toPos; i > fromPos; i--)
> {
> Swap(i, i-1);
> cm.EndCurrentEdit();
> }
> cm.Position = fromPos;
> this.gridDataBoundGrid1.EndUpdate();
>}
>
private void button4_Click(object sender, System.EventArgs e)
{
int moveToRow = int.Parse(this.textBox1.Text);
GridRangeInfo rangeToMove = this.gridDataBoundGrid1.Selections.Ranges.ActiveRange;
if(!rangeToMove.IsEmpty)
{
this.gridDataBoundGrid1.BeginUpdate();
int distance = moveToRow - rangeToMove.Top;
if(distance > 0)
{
for(int i = rangeToMove.Bottom; i >= rangeToMove.Top; --i)
{
for(int j = 0; j < distance; ++j)
Swap(i+j, i+j-1);
}
}
else if(distance < 0)
{
for(int i = rangeToMove.Top; i <= rangeToMove.Bottom; ++i)
{
for(int j = rangeToMove.Bottom-1; j >= moveToRow; --j)
Swap(j-1, j);
}
}
this.gridDataBoundGrid1.Selections.Clear();
this.gridDataBoundGrid1.Focus();
this.gridDataBoundGrid1.Binder.CurrentPosition = moveToRow - 1;
this.gridDataBoundGrid1.EndUpdate();
this.gridDataBoundGrid1.Refresh();
}
}